Continuous integration 跨多个存储库共享github工作流的最有效方式是什么?

Continuous integration 跨多个存储库共享github工作流的最有效方式是什么?,continuous-integration,github-actions,Continuous Integration,Github Actions,我目前正在为我的团队设置带有Github操作的工作流。 然而,我有十几个不同微服务的存储库,我不想在每个存储库之间笨拙地复制.github/workflows/目录。如果我们需要更改工作流,我必须在每个存储库之间复制所有更改 我目前考虑的解决方案只是将我的工作流目录作为git子模块。(编辑:对此进行了测试,当您的工作流目录是子模块时,github不会将其识别为包含操作) 有没有替代方案?当前是否有管理这些工作流的“最佳实践”?GitHub最近为组织添加了工作流模板,请参阅“” 至于替代方案,您可

我目前正在为我的团队设置带有Github操作的工作流。 然而,我有十几个不同微服务的存储库,我不想在每个存储库之间笨拙地复制.github/workflows/目录。如果我们需要更改工作流,我必须在每个存储库之间复制所有更改

我目前考虑的解决方案只是将我的工作流目录作为git子模块。(编辑:对此进行了测试,当您的工作流目录是子模块时,github不会将其识别为包含操作)


有没有替代方案?当前是否有管理这些工作流的“最佳实践”?

GitHub最近为组织添加了工作流模板,请参阅“”

至于替代方案,您可以编写自己的操作或shell脚本,以尽可能多地处理任务。虽然您仍然需要自行处理工作流,但在极端情况下,它们可以简化为签出和“我想做什么就做什么”步骤。Shell脚本还有一个额外的优势,即只要支持长时间选择的Shell,它们就可以在其他CI上工作

最后,您可以创建包含所有工作流的主回购和bot帐户,该帐户将自动将工作流中的所有更改推送到其他存储库,但这基本上自动化了您已经在做的事情


我看到(几乎)所有提到的解决方案都在野外使用,有些在这里或那里发生了变化。使用/计划使用其他CI pick shell脚本的存储库。组织只关注一个生态系统选择行动(要么是他们自己的,要么是社区创建的)。支持论坛上的一些人选择autopush,因为当时它最接近于拥有模板。关于工作流模板的使用,我说的不多——这项功能在几周前(撰写本文时)才公开,所以这并不奇怪。

我最终创建了一个shell脚本,它可以执行所需的操作,并且工作正常!谢谢你的建议。