Github动作,定时在分支上进行操作。

45

我正在尝试配置Github工作流程,我已经成功地在每次推送事件上进行了配置。但是,如果我需要它在一段时间后运行怎么办?

根据文档的理解,可以使用计划来实现。

name: Release Management

on: 
  schedule:
   - cron: "*/5 * * * *"

我该如何指定操作运行的分支?

我的最终目标是自动化发布。

1个回答

87
如果您查看此处的文档,您将看到与on: schedule事件相关联的GITHUB_SHA为“默认分支上的最后一次提交”。这是在使用actions/checkout操作时默认检出的内容。如果您的存储库的默认分支是master(通常情况下是这样),则此工作流将在触发时检出master上的最后一次提交。
name: Release Management
on: 
  schedule:
   - cron: "*/5 * * * *"
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

如果你想检出不同的分支,可以在检出操作中使用参数指定。此工作流将检出 some-branch 分支上的最后一次提交。

name: Release Management
on: 
  schedule:
   - cron: "*/5 * * * *"
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: some-branch

请参阅actions/checkout操作的文档,以了解其他选项。


也许还存在一些微妙的问题,如果您不允许“master”分支在存储库设置中部署必要的CI环境,则操作将失败。 - Starry-OvO
1
如果您同时使用工作流手动触发(允许选择分支)和定时调度,则特别麻烦。否则,在checkout步骤中不能硬编码分支,否则手动触发时的分支选项就没有意义了。 - Filipe Pina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接