首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用buildah脚本使用GitHub操作生成图像?

如何使用buildah脚本使用GitHub操作生成图像?
EN

DevOps用户
提问于 2021-03-11 02:04:50
回答 1查看 270关注 0票数 0

博达脚本通常使用shell。你可以在这里看到一个脚本的例子

代码语言:javascript
复制
#!/bin/sh
ctr=$(buildah from alpine:3)
buildah commit "$ctr" myAlpineImage

假设我有这样一个shell脚本,它生成一个图像"myAlpineImage“。如何使用GitHub CI自动创建此映像,并最好将其上载到GitHub容器注册表?

EN

回答 1

DevOps用户

回答已采纳

发布于 2021-03-11 20:02:08

下面是我所做的,我创建了一个Makefile,它包含了我自己的图像创建方法,

代码语言:javascript
复制
.PHONY: image clean image-release
image: image-release

image-release:
    cargo build --release
    buildah unshare ./image/distroless.sh release

clean:
    cargo -v clean

为此目的,唯一重要的是./image/distroless.sh创建的映像匹配以下流中的操作(redhat-actions/push-to-registry)。我们将继续使用myAlpineImage这个名称,如问题中所示,

代码语言:javascript
复制
name: Distroless Image Creation

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Download and create image.
      run: make image-release
    - name: Push To Registry
      uses: redhat-actions/push-to-registry@v2.1.1
      with:
        image: myAlpineImage
        tags: latest
        registry: ghcr.io/evancarroll/project
        username: evancarroll
        password: ${{ secrets.GHCR_TOKEN }}

您可以在这里看到,我们调用make image-release,它调用buildah脚本并使图像没有根。

然后,我把GHCR_TOKEN的秘密添加到我的回购中。令牌是在github上的“设置/开发人员设置/个人访问”令牌.中生成的。

票数 1
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/13524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档