可以将 GitHub Action 触发到另一个仓库吗?

3

如果我有一个公共仓库,并设置了一个工作流,以便在推送到主分支时触发工作流程序,那么我是否可以从另一个仓库触发另一个工作流程程序?

我想这样做的原因是我的公共仓库用于允许任何人进行贡献,但我想创建另一个私有仓库,用于处理构建过程/部署,而这个仓库不应该是公开的。是否有更好的方法来处理GitHub操作中的此类用例?- 我基本上不希望我的服务器上的构建过程是公开的。

2个回答

6

经过更多的研究,我发现了这个市场插件,它可以解决我的问题,并调用另一个存储库来触发另一个构建,这是一个私有存储库,您可以输入您选择的名称并拥有一个面向公众的前端存储库,同时将所有的CI/CD内容保存在一个私有存储库中:

https://github.com/marketplace/actions/dispatch-action


请在回答中添加上下文链接,以使您的答案自包含。这意味着答案需要在此处提供。请参阅"为链接提供上下文"。如果可能的话,请在此处回答问题,并仅作为参考进行链接。请参阅何时将答案标记为“不是答案”?。或者,在您的问题中添加评论中的链接。 - Scratte

2
name: Trigger automation tests
steps:
- uses: actions/github-script@v6
  with:
    github-token: ${{ secrets.PERSONAL_TOKEN }}
    script: |
      await github.rest.actions.createWorkflowDispatch({
       owner: '*****',
       repo: '*****',
       workflow_id: '*****.yml',
       ref: 'main'
      })
  1. 在目标仓库中创建个人访问令牌。
  2. 将此个人访问令牌作为密钥添加到两个仓库中。
  3. 创建一个新的工作流程或编辑已存在的工作流程(yml文件)。
  4. 将上述步骤添加到yml文件中。

owner = 组织/个人GitHub账户名。

repo = 目标仓库名称。

workflow_id = 目标工作流程的yml文件名。

ref = 在目标仓库中要运行的分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接