首页 > 解决方案 > 在合并到 master 时运行 Gitlab CI 作业,仅用于更改

问题描述

只有当脚本发生更改时,有没有办法可靠地执行合并到 master 的作业?我在用着

vm-build:
  image: 
    name: path_to_image
  stage: vm-deploy
  only:
    changes:
      - job.gitlab-ci.yml
    refs:
      - master
  except:
    - schedules
    - triggers
  script:
    - ansible-playbook playbooks/pb_job.yml
  tags:
    - docker

但它似乎在不同的提交上执行“作业”以掌握 job.gitlab-ci.yml 没有改变的地方。不过,我还没有找到一个押韵或理由。

标签: gitlab-ci

解决方案


以下.gitlab-ci.yml仅在更改分支jobs.gitlab-ci.yml上的文件时运行:master

myjob:
  script:
    - echo I am a CI job
  only:
      changes:
        - job.gitlab-ci.yml
      refs:
        - master

它不会在master分支中任何其他文件的更改上运行。


推荐阅读