请教一下,如何在 github actions 中定时跑某个分支的任务。

2022-03-07 00:39:16 +08:00
 aisen60

各位大佬们,请求一个问题:如何在 github actions 中定时跑某个分支的任务。

仓库有两个分支,一个是 dev 、另一个是 main 。dev 是主分支,main 是需要定时构建任务的分支。现在我的 yml 是这样写的:

name: GitHub Pages

on:
  push:
    branches:
      - main
  schedule:
    - cron: "0 21 * * *"
...

这样写的话在凌晨 5 点左右就会执行,但是执行的内容是 dev 分支的,而不是 main 分支。

要如何写才是 定时执行 main 分支的代码哈~

2200 次点击
所在节点    程序员
5 条回复
shadeofgod
2022-03-07 01:14:00 +08:00
执行的时候里面加一个切换分支的步骤

https://github.com/actions/checkout#Checkout-a-different-branch
lscho
2022-03-07 09:20:51 +08:00
steps:
- uses: actions/checkout@main
jaredyam
2022-03-07 09:32:15 +08:00
按照#1 的做法是可以的,前提是对应分支已经存在。其实直接增加一个 git checkout <branch> 的操作就可以。

如果完成任务后需要再推送到特定分支时,不要忘了在 push 步中设置特定 branch:
```bash
- name: Push changes
uses: ad-m/github-push-action@v0.6.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: <branch>
```

一个具体的例子:
https://github.com/jaredyam/howtopronounce-readwise/blob/main/.github/workflows/cron.yml
dany813
2022-03-07 14:20:36 +08:00
这个是免费的吗
aisen60
2022-03-08 19:05:02 +08:00
@shadeofgod @lscho @jaredyam 谢谢各位大佬们呢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838465

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX