簡體   English   中英

Gitlab 運行 gitlab 管道時未注入 CI CD 變量

[英]Gitlab CI CD variable are not getting injected while running gitlab pipeline

我在 gitlab-ci.yml 文件中運行以下代碼部分:

  script:
- pip install --upgrade pip
- cd ./TestAutomation
- pip install -r ./requirements.txt

以下是鍵和值。 所以我必須將任何值作為變量 ENV 傳遞給管道:dev

我已經通過擴展在 GitLab CI CD 變量部分添加了所有上述三個變量。 只是添加了一個值和鍵

我還發現我們可以在 .yml 文件本身中添加變量,如下所示。 我不確定我們如何為一個鍵添加多個值

variables:
 TEST:
   value: "some value" # this would be the default value
   description: "This variable makes cakes delicious"

當我運行管道時出現錯誤,看起來這些變量和值沒有正確注入。

更多細節:

我在運行管道時遇到了同樣的錯誤。 因此我懷疑當我通過管道運行時類別變量沒有正確注入

如果需要,我會在共享屏幕上顯示它

請找到我的 gitlab-ci.yml 文件的圖像片段 - [![在此處輸入圖像描述][1]][1]

我在運行管道時傳遞了以下參數 - [![在此處輸入圖像描述][2]][2]

我觀察到的是——與我作為參數或變量傳遞的鍵關聯的值,這些值沒有被注入或替換而不是鍵。 所以理想情況下 ${Category} 應該替換為 value smoke 等

當 Gitlab CI CD 變量沒有作為環境變量注入到您的管道中時,請按照以下步驟進行驗證。

  1. 檢查變量是否已定義。 您至少需要為您的用戶設置Maintainer角色。 Go 到設置 --> CI/CD --> 變量。 您可以查看所有項目變量和組變量(繼承)。

  2. 接下來,檢查這些變量是否被定義為Protected的變量。 如果它們被標記為受保護,那么它們僅暴露於受保護的分支或受保護的標簽。 如果您當前的分支不是protected branch ,我建議取消選中此項。 如果不是,您始終可以使當前分支成為受保護的分支。 在此處輸入圖像描述

  3. 接下來,檢查您的代碼是否正確訪問了環境變量。 根據您的腳本語言,只需像訪問常規環境變量一樣訪問即可。

  4. 您實際上不需要在.gitlab-ci.yaml文件中定義這些變量。 (即使他們的文檔是這樣說的)

希望這可以幫助。

GitLab UI 中設置的變量不會傳遞給服務容器。 要設置它們,請將它們分配給 UI 中的變量,然后在 your.gitlab-ci.yml 中重新分配它們:

stages:
  - Test
# Added this to your yml file
variables:
  ENV: $ENV
  BROWSER: $BROWSER
  Category: $Category

ui_tests:
  stage: Test
  image: 
    name: joyzourky/python-chromedriver:3.8
    entrypoint: [""]
  tags:
  - micro
  only:
  - develop
  when: manual
  script:
    - pip install --upgrade pip 
    - cd ./src/Tests/UIAutomation
    - pip install -r ./requirements.txt
    - pytest -s -v --env=${ENV} --browser=${BROWSER} --alluredir=./reports ./tests -m ${Category}
  artifacts:
    when: always
    path:
    - ./src/Tests/UIAutomation/reports/
    - ./src/Tests/UIAutomation/logs/
    expire_in: 1 day

正如@Keet Sugathadasa 提到的,觸發 CI 的分支必須受到保護; 這是我的情況,所以我必須通過轉到Settings > Repository > Protected branch來保護它,然后從那里保護分支

暫無
暫無

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

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