我目前正在首次调查github动作。
我有一个构建Docker映像并将其发布到Docker Hub的过程。
这一切似乎都工作得很好,但是当我努力掌握它的构建和master
分支标记时,我想用分支标记latest
吗?
我知道您可以在.yml
文件中执行条件操作,例如:
step:
if: github.ref == 'refs/heads/master'
但我想知道是否可以内联进行,所以我可以说
build . docker-image-name:${{ github.ref == 'refs/head/master' ? 'latest' : github.ref }}
我知道这不是语法,而是主意,
您可以使用少量的Shell脚本来做到这一点。假设您知道将始终设置ref(也就是说,您始终在使用分支或标签),则可以编写以下内容:
build . docker-image-name:$(ref=${GITHUB_REF%refs/heads/master};echo ${ref:=latest})
或者,如果您想要的东西不那么紧凑,但更易于阅读:
build . docker-image-name:$([ "$GITHUB_REF" = refs/heads/master ] && echo "latest" || echo "$GITHUB_REF")
该GITHUB_REF
环境变量应该由你的动作自动设置,提供你与裁判工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句