gitlab-ci - 在合并到 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.yml
仅在更改分支jobs.gitlab-ci.yml
上的文件时运行:master
myjob:
script:
- echo I am a CI job
only:
changes:
- job.gitlab-ci.yml
refs:
- master
它不会在master
分支中任何其他文件的更改上运行。
推荐阅读
- amazon-web-services - 有没有办法一次恢复多个快照?
- css - 赛普拉斯:如何获取伪进度元素的属性,如 --webkit-progress-bar 或 --moz-progress-bar
- html - 在不透明图像上具有透明背景的图像
- chromium - 每次打开用户编辑对话框时,SuiteCRM 十进制符号都会重置为用户名 - 可能是 chrome 自动填充问题
- find - 如何使用 find 或 xargs 计算包含至少两行的文件?
- c# - C# Dispatcher Invoke 和正常代码执行顺序
- sql - 从 ER 图中使用 SQL (PostgreSQL 13.1) 创建表
- git - 将 Dev 分支中的文件与 Master 分支对应项取消关联,以便它们在合并后保持独立
- configuration - 出现错误 400 - 运行 sym 命令时出现注册错误以及如何使用 SymmetricDS 执行双向同步
- java - 使用旧的 cinnamon-agent.jar 时,信封未路由到 akka 集群分片 actor