簡體   English   中英

為單個 gitlab CI 管道執行多個運行程序

[英]Execute multiple runners for single gitlab CI pipeline

我有一個 gitlab CI 配置為構建代碼並將其部署到 3 個不同的服務器,在部署每個服務器之前只需稍作更改。 在部署之前,我根據正在部署的服務器編輯一些文件,並從 CI 管道推送到同一個 repo。 為此,我想使用 3 個不同的運行器來運行,以便構建代碼並將其部署到每個服務器,但找不到如何做。 我可以讓管道中的每個作業在多個運行器上並行運行(使用並行矩陣),但是作業運行的順序(即首先在所有運行器上執行 1 個作業),更改不會持續到部署作業。

有沒有辦法可以觸發多個跑步者執行相同的工作? 或者是他們的解決方法。

為每個運行器定義唯一標簽(例如deploy-win11deploy-rhel8deploy-solaris )。

創建一個模板作業和擴展模板作業的三個作業(每個作業用於一個目標系統)。 然后為這三個作業中的每一個定義所需的標簽

享受成功吧,每項工作都在自己的特定運行器上運行,部署正確版本的軟件。

我不確定我是否完全理解這個問題,但我認為你錯過了stages

您可以在.gitlab-ci.yml中這樣定義您的階段(您可以隨意命名它們):

stages:
- build
- test
- deploy

這樣,管道將等待所有build作業完成,然后再運行test作業。

現在,您必須指定作業應在哪個階段執行:

build_job_1:
  variables:
    NODE_OPTIONS: --max_old_space_size=8192
    GIT_CLEAN_FLAGS: none
  stage: build
  tags:
    - runner1

build_job_2:
  variables:
    NODE_OPTIONS: --max_old_space_size=4096
  stage: build
  tags:
    - runner2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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