我有一个需求,那里有3个GitHub存储库
回购A
回购B
转售C
当手动执行Repo a的参数化作业1时(使用workflow_disptach(,工作流开始
传递了四个参数
此作业1触发回购B(作业2(和回购C(作业3(这两个其他作业->(下游工作(
Repo B&C、 应该执行具有所有4个参数的Repo A的job1(shell脚本(
如何在不同的存储库中触发作业工作流
如何将代码签出到GITHUB_WORKSPACE环境以外的其他位置
如何使用Github Actions在Github中实现上述用例?
如何在不同的存储库中触发作业工作流
正如soltex在评论中所说,您可以使用dispatches
来使用repository_dispatch
触发器在任何存储库上触发工作流。
Github API存储库文档
下面是一个使用Github API:triggered-receiver发送dispatch event
的工作流示例。
如何使用Github Actions在Github中实现上述用例
Github Marketplace上有一些操作可以更容易地调度事件。
下面是一个操作的工作流示例:触发接收器
如何将代码签出到GITHUB_WORKSPACE环境以外的其他位置
如果在同一个存储库中,使用actions/checkout
访问GITHUB_WORKSPACE后,可以使用shell命令(例如:cd path/to/specific/file
(在存储库中导航,以访问所需的文件夹或文件。
现在,如果您想从另一个存储库访问特定的文件或文件夹,则必须将其克隆到工作流中的某个位置。