0
我正在使用Gitlab-CI,我正在考慮所有分支的一項工作,這些工作基本上可以被視爲某種單元測試,而另一項工作則專門負責主分支,例如複製和執行一些實際操作。單元測試工作必須在所有分支上運行。如何設置gitlab-ci作業來重新使用特定主工作中的所有分支作業?
我在想這些腳本是否可以重疊,這樣基本上所有的分支作業都可以作爲一種驗證在主設備之前執行。
這樣做是爲了加強現有兩個條件中的合併請求:
- 只允許合併請求合併如果管道成功
- 只允許合併請求合併,如果所有的討論都解決
我簡化了一下.gitlab-ci.yml
如下:
job_all_branches:
script:
- unit-tests
job_master_branch:
script:
- copy-files
only:
- master
當然,可以提到我們可以將所有分支作業中的單元測試腳本複製並粘貼到job_master_branch中調用的腳本中,但我想知道是否有避免冗餘定義的方法。
不太清楚你問什麼。如果你喜歡,你可以在單元測試中使用'except:master'。 Gitlab支持[要求構建在合併之前傳遞](https://gitlab.mercuria.met/help/user/project/merge_requests/merge_when_pipeline_succeeds#only-allow-merge-requests-to-bemerged- if-該流水線-成功)。 – Matthew