Gitlab
是否可以有一個通用的 .gitlab-ci.yml 而不是在每個項目中複製對 .gitlab-ci.yml 的更改?
目前我們在每個項目中都放了一個 .gitlab-ci.yml。目前我們有 50 多個項目,每次 .gitlab-ci.yml 發生變化時,團隊都必須更改所有項目的結構。是否有可能擁有一個共同的 .gitlab-ci.yml?
嘗試
- 試過有一個gitlab-ci.yml,但是不知道怎麼改這個文件的預設路徑
- 通用腳本減少了程式碼重複量,但是如果 gitlab-ci.yml 結構發生變化,我們必須在所有項目中實現它
不,這是不可能的。這與為什麼存在這種方法的想法背道而馳,因為如果您添加一個需要完全不同的 yml 文件的 git repo/project 怎麼辦?
您可以做的(如您所提到的)是執行一個腳本,該腳本在
.gitlab-ci.yml
執行過程中下載。像這樣的東西:stages: - prep - run get_script: stage: prep script: - wget http://my_local_script.lan/run_suite.sh -O /tmp/run_suite.sh run_script: stage: run script: - bash /tmp/run_suite.sh
將此設置為每個項目的腳本,然後您只需更新一次 run_suite.sh,所有新項目都將使用它。
恐怕沒有比這更好的辦法了。