【问题标题】:How to trigger a workflow job in repository B(downstream job) from workflow job of repository A in Github using github actions如何使用 github 操作从 Github 中存储库 A 的工作流作业触发存储库 B(下游作业)中的工作流作业
【发布时间】:2021-07-29 11:54:58
【问题描述】:

我有 3 个 GitHub 存储库的要求。
回购 A
回购 B
回购 C

当手动执行 Repo A 的参数化作业 1(使用 workflow_disptach)时,工作流开始。
传递了四个参数。
这个job1触发了Repo B(job2)和Repo C(job3)->(downstream jobs)的另外两个job
成功执行 Repo B 和 C 的作业后,应执行包含所有 4 个参数的 Repo A 的 job1(shell 脚本)。

如何在不同的存储库中触发工作流程?
如何将代码签出到除 GITHUB_WORKSPACE env 之外的其他位置?
如何在 Github 中使用 Github Actions 实现上述用例?

【问题讨论】:

标签: git github github-actions


【解决方案1】:

如何在不同的存储库中触发作业流程?

正如soltex 在 cmets 中所说,您可以使用dispatches 在任何使用repository_dispatch 触发器的存储库上触发工作流。

Github API repositories documentation

以下是使用 Github API 发送dispatch event 的工作流示例:triggered - receiver

如何在 Github 中使用 Github Actions 实现上述用例?

Github Marketplace 上有一些操作可以更轻松地调度事件。

以下是执行此操作的工作流示例:triggered - receiver

如何将代码签出到 GITHUB_WORKSPACE 环境以外的其他位置?

如果在同一个存储库中,一旦您使用actions/checkout 访问 GITHUB_WORKSPACE,您可以使用 shell 命令(例如:cd path/to/specific/file)导航存储库以访问您想要的文件夹或文件。

现在,如果您想从另一个存储库访问特定文件或文件夹,您必须将其克隆到工作流程的某个位置。

【讨论】:

    猜你喜欢
    • 2022-08-23
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2023-01-07
    • 2017-09-16
    • 2022-11-23
    相关资源
    最近更新 更多