Gitlab

是否可以有一個通用的 .gitlab-ci.yml 而不是在每個項目中複製對 .gitlab-ci.yml 的更改?

  • November 25, 2016

目前我們在每個項目中都放了一個 .gitlab-ci.yml。目前我們有 50 多個項目,每次 .gitlab-ci.yml 發生變化時,團隊都必須更改所有項目的結構。是否有可能擁有一個共同的 .gitlab-ci.yml?

嘗試

  1. 試過有一個gitlab-ci.yml,但是不知道怎麼改這個文件的預設路徑
  2. 通用腳本減少了程式碼重複量,但是如果 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,所有新項目都將使用它。

恐怕沒有比這更好的辦法了。

引用自:https://serverfault.com/questions/811713