我要求有 3 个 GitHub 存储库。
回购 A
回购 B
回购 C
当手动执行 Repo A 的参数化 job1 时工作流开始(使用 workflow_disptach)。
传递了四个参数。
这个 job1 触发了 Repo B(job2) 和 Repo C(job3)->(downstream jobs) 的另外两个作业
成功执行 Repo B & C 的作业后,应执行带有所有 4 个参数的 Repo A 的 job1(shell 脚本)。
如何在不同的存储库中触发作业工作流?
如何将代码签出到 GITHUB_WORKSPACE env 以外的其他位置?
如何在 Github 中使用 Github Actions 实现上述用例?
答案 0 :(得分:0)
如何在不同存储库中触发作业工作流?
正如 soltex 在评论中所说,您可以使用 dispatches
在使用 repository_dispatch
触发器的任何存储库上触发工作流。
Github API repositories documentation
以下是使用 Github API 发送 dispatch event
的工作流示例:triggered - receiver。
如何在 Github 中使用 Github Actions 实现上述用例?
Github Marketplace 上有一些操作可以更轻松地分派事件。
以下是执行操作的工作流示例:triggered - receiver
如何将代码检出到 GITHUB_WORKSPACE env 以外的其他位置?
如果在同一个存储库中,一旦您使用 actions/checkout
访问 GITHUB_WORKSPACE,您可以使用 shell 命令(例如:cd path/to/specific/file
)导航存储库以访问您想要的文件夹或文件。
现在,如果您想访问另一个存储库中的特定文件或文件夹,您必须将其克隆到您的工作流程中。