簡體   English   中英

gitlab 作業正在運行,即使計划管道中沒有更改

[英]gitlab job is running even if there is no changes in the schedule pipeline

我為我的 gitlab.yml 文件設置了運行管道的時間表。 在我的工作中,我設置了運行/不運行工作的規則。 但是,在我的日程安排中,無論我是否滿足任何規則,工作都會運行。

這是簡化的 yml 文件:

stages:
    - build

variables:
    DOCKER_DRIVER: overlay2
    DOCKER_TLS_CERTDIR   : ""

    DOCKER_NETWORK: "gitlab-network"


.docker_dind_service: &docker_dind_service
    services:
        - name: docker:20.10-dind
          command: ["--insecure-registry", "my_server.net:7000"]

docker:custom:
    stage: build
    <<: *docker_dind_service
    tags:
        - docker_runner
    image: docker
    rules:
        - if: '$FORCE_BUILD_DOCKER_IMAGE == "1"'
          when: always
        - changes:
             - Dockerfile
        - when: never
    script:
        - docker build -t my_image .

對於上述情況,即使我的 Dockerfile 沒有變化,作業也會添加到計划中。 我想我迷路了,因為當我對我的 yml 文件進行更改並推送它時,沒有添加此作業,這是正確的,因為 Dockerfile 沒有更改。 但是,它針對每個計划的管道運行。

顯然根據 Gitlab 文檔: https://docs.gitlab.com/ee/ci/yaml/#using-onlyrequests-without-pipelines

您應該使用規則:僅使用分支管道或合並請求管道進行更改。 您可以將規則:更改與其他管道類型一起使用,但規則:更改在沒有 Git 推送事件時始終評估為真。 標記管道、計划管道、手動管道等沒有與之關聯的 Git 推送事件。 一條規則:如果沒有,則始終將更改作業添加到這些管道中,如果這將作業限制為分支或合並請求管道。

暫無
暫無

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

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