[英]use bash case statement in gitlab ci/cd
所以我有一个管道,每 24 小时检查 2 个 repos 并将更改推送到第 3 个 repo。 管道如下所示:
- git fetch $CHEATSHEETS
- git fetch $BASH_ONELINER
- git add -A
- git commit -m "Update has been successful" || echo "error"
- git push $TOKEN_AND_REPO HEAD:master
我的问题是,例如,如果出现诸如合并冲突之类的错误,我将永远不会在管道中看到任何错误。 所以我想用一个案例来提交,像这样:
TEST=2; case "${TEST}" in "1") echo "one";; "2") echo "The commit has failed";; *) echo "Error";; esac
我的问题是在 gitlab ci/cd 管道中是否会有类似的工作,如果是这样 - 它应该如何实施?
提前致谢。
你似乎想做:
- git fetch $CHEATSHEETS
- git fetch $BASH_ONELINER
- git add -A
- if git diff-index --cached --quiet HEAD; then
echo "Nothing to commit... exiting" &&
exit 0
fi
- git commit -m "Update has been successful"
- git push $TOKEN_AND_REPO HEAD:master
这与用case
无关。 您可以在 gitlab-ci 管道中正常使用case
,就像在 shell 中一样。 请参阅如何以编程方式确定是否存在未提交的更改?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.