簡體   English   中英

推送 Github 操作后,還有其他觸發工作流的方法嗎?

[英]Any other way to trigger workflows after pushing in Github Actions?

我有一個工作流程,它對存儲庫進行了一些修改,然后推送它,期待推送工作流程開始。 現在我知道文檔中的預期方式建議我創建一個 PAT,但這對我來說似乎是一個 hacky 解決方案,因為整個構建過程與我的帳戶相關聯,並且我的帳戶處於活動狀態並具有必要的權限。

它還希望我的帳戶能夠推送訪問我的主要分支機構,這是我不想擁有的。 我想通過 PR 來運營。

我還有其他選擇嗎? 我是否需要在我的組織中創建一個my-github-bot帳戶並為此創建一個 PAT? 與僅使用默認${{ secrets.GITHUB_TOKEN }}啟用工作流觸發開關相比,所有這些選項似乎都太老套了

推送的工作流也可以在第二個工作流上使用workflow_dispatch觸發器來啟動另一個工作流。 通過撥打 REST 電話或包括電話gh

gh workflow run {{workflow.yaml}} --ref {{sha}} --repo {{owner/repo}}

或者使用可用操作之一在推送步驟之后調用工作流

例如:

- name: Invoke workflow with inputs
  uses: benc-uk/workflow-dispatch@v1
  with:
    workflow: Another Workflow

您也可以使用 GitHub 應用程序,它有一個特殊的操作 您授予應用程序調用工作流的權限,然后讓工作流檢索令牌以在需要時調用其他工作流,您甚至可以使用該令牌進行推送。

      - name: Get Token
        id: get_workflow_token
        uses: peter-murray/workflow-application-token-action@v1
        with:
          application_id: ${{ secrets.APPLICATION_ID }}
          application_private_key: ${{ secrets.APPLICATION_PRIVATE_KEY }}

      - name: Use Application Token to create a release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ steps.get_workflow_token.outputs.token }}
        with:
          ....

需要進行一些設置才能注冊應用程序並為其授予正確的權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM