繁体   English   中英

如何在推送到另一个分支时触发 Github Actions 工作流?

[英]How to trigger a Github Actions workflow on push to another branch?

当我将一些代码推送到master ,会运行一个工作流文件。 该文件构建工件并将代码推送到另一个分支production

另一个工作流文件(如下所示)设置为在production发生任何推送时运行。

name: Deploy

on:
  push:
    branches:
      - production

jobs:

# Do something

  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@master

但是这个工作流文件永远不会运行。 我希望当工作流文件在 master 上监听推送事件完成后,这个文件应该运行,因为前一个文件将代码推送到production分支。 我如何确保发生这种情况?

您需要使用个人访问令牌 (PAT) 来推送工作流中的代码,而不是默认的GITHUB_TOKEN

注意:您不能使用GITHUB_TOKEN触发新的工作流运行

例如,如果工作流运行使用存储库的GITHUB_TOKEN推送代码,即使存储库包含配置为在push事件发生时运行的工作流,新的工作流也不会运行。

如果您想从工作流运行中触发工作流,您可以使用个人访问令牌触发事件。 您需要创建个人访问令牌并将其存储为机密。

https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token

name: Push to master

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    # the checkout action persists the passed credentials by default
    # subsequent git commands will pick them up automatically
    - uses: actions/checkout@v2
      with:
        token: ${{secrets.PAT}}
    - run: |
        # do something
        git push

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM