我想每天部署一次我的项目,但前提是发生了更改。
我可以在每个特定的时间进行部署,并且我很乐意使用预定的管道来触发和部署。
但是,并不总是存在需要部署的更改。理想情况下,如果自上次部署以来代码库没有发生任何更改,则管道当天不会运行。
有什么办法可以实现这种行为吗?
这类似于 4 年前的功能请求gitlab-org/gitlab-foss问题19813 https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19813
GitLab CI 仅在某个文件夹发生更改时执行
我有一个相当大的项目,我使用 GitLab CI 和 Pages 来部署它,但是,当我更改存储库中的任何内容时,它会运行 CI。
我不希望这种情况发生,我希望它仅在以下情况下运行src
文件夹更改。
这可能吗?
最近(2020 年 7 月)的结论是使用only:changes/except:changes https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges
使用changes
关键字与only
or except
可以定义是否应根据 Git 推送事件修改的文件创建作业。
Example:
我特别想要这个功能package.json
and package-lock.json
因为我可以跑npm install
仅当有变化时。
only:
changes:
- package.json
- package-lock.json
警告,如所指出的马蒂斯·比尔曼 https://stackoverflow.com/users/226449/matthijs-bierman in 评论 https://stackoverflow.com/questions/63525941/gitlab-ci-run-on-schedule-but-only-if-there-are-changes/63565982?noredirect=1#comment113608523_63565982, 并作为记录在这里 https://docs.gitlab.com/ee/ci/yaml/README.html#using-onlychanges-with-scheduled-pipelines:
注意only: changes
does not与...一起工作when: scheduled
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)