[英]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.