Registries
- hub.oepkgs.net
- docker.io/openeuler
- quay.io/openeuler
Solutions
发布 Ascend 镜像,同时也发布到 openEuler
Steps
DEPRECATED
Solutions
发布 Ascend 镜像后,调用 update.py 在 openeuler-docker-images 仓库提交 pull request,触发构建
Steps
- 发布完 Ascend 镜像后,调用脚本
以 cann 镜像为例:
python update.py \
--url https://github.com/openmerlin/dockerfile \
--branch main \
--context cann \
--file cann/openeuler.Dockerfile \
--args {"cann_version": "8.0.RC1", "cann_chip": "910b", "xxx": "yyy"}
- 难点在于 CI 中如何获取当前构建的 bake target 的 args —— @shink
Steps
arg.json 新增 registry
- 登录 Token 添加到 Actions Secrets
docker-login 支持登录 registry
Problems
当前仓库已支持发布到 Ascend 的 Docker Hub 和 Quay.io,若要同时发布到 Euler 的 Docker Hub 和 Quay.io,则需实现同一 registry 登录多个账号,但目前 Docker 无法实现——后登录的账号会覆盖前面登录的账号,因此无法实现在同一个 Job 中同时将镜像发布至 Ascend 和 Euler
Solutions
-
单独创建一个新的 workflow——docker-euler.yml,其中修改 arg.json 的 registry 信息,release 时进行构建并发布
缺点:浪费资源,相同的镜像还需要再重新构建一遍
-
同一个 workflow 中,发布完 Ascend 镜像后 logout 再 login euler,然后再发布到 Euler
缺点:GitHub Runner 磁盘空间有限,没有足够空间 load 到磁盘
-
重构 CI,摒弃掉 Bake,自定义构建脚本
缺点:工作量大
cc: @wjunLu @GuangJie1 @22dimensions
Registries
Solutions
发布 Ascend 镜像,同时也发布到 openEuler
Steps
DEPRECATED
Solutions
发布 Ascend 镜像后,调用 update.py 在 openeuler-docker-images 仓库提交 pull request,触发构建
Steps
以 cann 镜像为例:
Steps
arg.json新增 registrydocker-login支持登录 registryProblems
当前仓库已支持发布到 Ascend 的 Docker Hub 和 Quay.io,若要同时发布到 Euler 的 Docker Hub 和 Quay.io,则需实现同一 registry 登录多个账号,但目前 Docker 无法实现——后登录的账号会覆盖前面登录的账号,因此无法实现在同一个 Job 中同时将镜像发布至 Ascend 和 Euler
Solutions
单独创建一个新的 workflow——docker-euler.yml,其中修改
arg.json的 registry 信息,release 时进行构建并发布同一个 workflow 中,发布完 Ascend 镜像后 logout 再 login euler,然后再发布到 Euler
重构 CI,摒弃掉 Bake,自定义构建脚本
cc: @wjunLu @GuangJie1 @22dimensions