首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使调度管道中没有任何更改,gitlab作业仍在运行。

即使调度管道中没有任何更改,gitlab作业仍在运行。
EN

Stack Overflow用户
提问于 2022-09-14 20:58:01
回答 1查看 122关注 0票数 0

我为我的gitlab.yml文件设置了运行管道的计划。在我的工作中,我设置了运行/不运行作业的规则。然而,在我的日程安排中,不管我的任何规则是否符合,任务都在运行。

以下是简化的yml文件:

代码语言:javascript
复制
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中没有任何更改。但是,它正在为每个预定的管道运行。

EN

回答 1

Stack Overflow用户

发布于 2022-09-14 21:12:06

显然,根据Gitlab文档:https://docs.gitlab.com/ee/ci/yaml/#using-onlychanges-without-pipelines-for-merge-requests

您应该使用规则:只对分支管道或合并请求管道进行更改。您可以在其他管道类型中使用rules: changes,但是rules:更改总是在没有Git push事件时计算为true。标记管道、计划管道、手动管道等等都没有与它们关联的Git push事件。规则:如果没有将作业限制为分支或合并请求管道,则更改作业总是添加到这些管道中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73723094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档