Github 操作,在分支上调度操作

Lup*_*ati 21 git workflow github github-actions

我正在尝试配置一个 github 工作流,我已经设法在推送事件上配置它。但是,如果我需要它在一段时间过去后继续运行怎么办?

我从文档中了解到,它可以使用时间表来实现。

name: Release Management

on: 
  schedule:
   - cron: "*/5 * * * *"
Run Code Online (Sandbox Code Playgroud)

如何指定操作将在哪个分支上运行?

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

pet*_*ans 38

如果您查看此处文档,您将看到GITHUB_SHA与该on: schedule事件相关联的是“默认分支上的最后一次提交”。这是您使用该actions/checkout操作时将默认检出的内容。

如果您的存储库的默认分支是master(通常是这种情况),则此工作流程将master在触发时检出最后一次提交。

name: Release Management
on: 
  schedule:
   - cron: "*/5 * * * *"
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
Run Code Online (Sandbox Code Playgroud)

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

name: Release Management
on: 
  schedule:
   - cron: "*/5 * * * *"
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: some-branch
Run Code Online (Sandbox Code Playgroud)

有关其他选项actions/checkout操作,请参阅文档

  • 如果您使用工作流程手动触发(允许选择分支)和计划,那么特别烦人。您不能在结帐步骤中对分支进行硬编码,否则手动触发时的分支选项没有意义 (2认同)