【问题标题】:Trigger a workflow of another repository and get the artifacts触发另一个存储库的工作流并获取工件
【发布时间】:2022-09-29 14:03:34
【问题描述】:

我在一个组织下有一个名为“Test Repo”的私有 GitHub 存储库。存储库具有执行工作流和上传工件 (HTML) 的操作。我在同一个组织下还有十个名为 \"Dev Repos\" 的私有存储库。

有没有一种方法可以在任何“Dev Repos”中出现推送时发生以下步骤?

  • 触发“测试回购”工作流程。 \"Dev Repos\" 应显示处理工作流状态。
  • \"Test Repo\" 工作流程完成后,\"Test Repo\" 的工件应出现在进行推送的 \"Dev Repo\" 中。

笔记: 使用本机方法而不是 3rd 方插件会很好:)

    标签: github github-actions github-ci


    【解决方案1】:

    您可以尝试GitHub Action "Trigger External Workflow" 以触发工作流其他使用repository_dispatch 事件的存储库。

    on: [push, workflow_dispatch]
    jobs:
      trigger:
        runs-on: ubuntu-latest
        name: "? Trigger Project Test"
        steps:
        - uses: passeidireto/trigger-external-workflow-action@main
          env:
            PAYLOAD_AUTHOR: ${{ github.author }}
            PAYLOAD_REVISION: "3"
          with:
            repository: my-org/my-repo
            event: doc_update
            github_pat: ${{ secrets.pat_with_access }}
    

    确保您的github_pat 在目标存储库中有workflow scope(测试)。

    然后您可以使用action-gh-release 在开发存储库中发布您的测试包。
    参见Oyster Lee 中的“How to release built artifacts from one to another repo on GitHub?”(也在Stack Overflow 上)

    # workflow.yml
    # a lot code at the top
    # ...
    release:
      steps:
        - name: Release
          uses: softprops/action-gh-release@v1
          with:
            repository: ${{ secrets.owner }}/${{ secrets.repo }}
            token: ${{ secrets.CUSTOM_TOKEN }}
    

    【讨论】:

      猜你喜欢
      • 2020-06-10
      • 2023-01-11
      • 1970-01-01
      • 2021-09-15
      • 2013-10-01
      • 2020-06-22
      • 2021-01-06
      • 2022-01-10
      • 1970-01-01
      相关资源
      最近更新 更多