Gitlab-CI,按计划运行,但仅在有更改时运行

2024-04-02

我想每天部署一次我的项目,但前提是发生了更改。 我可以在每个特定的时间进行部署,并且我很乐意使用预定的管道来触发和部署。

但是,并不总是存在需要部署的更改。理想情况下,如果自上次部署以来代码库没有发生任何更改,则管道当天不会运行。

有什么办法可以实现这种行为吗?


这类似于 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(使用前将#替换为@)

Gitlab-CI,按计划运行,但仅在有更改时运行 的相关文章

随机推荐