簡體   English   中英

在 gitlab ci/cd 中使用 bash 案例語句

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM