博达脚本通常使用shell。你可以在这里看到一个脚本的例子
#!/bin/sh
ctr=$(buildah from alpine:3)
buildah commit "$ctr" myAlpineImage假设我有这样一个shell脚本,它生成一个图像"myAlpineImage“。如何使用GitHub CI自动创建此映像,并最好将其上载到GitHub容器注册表?
发布于 2021-03-11 20:02:08
下面是我所做的,我创建了一个Makefile,它包含了我自己的图像创建方法,
.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这个名称,如问题中所示,
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上的“设置/开发人员设置/个人访问”令牌.中生成的。
https://devops.stackexchange.com/questions/13524
复制相似问题