在多个存储库上重用 Github Actions 自托管运行器

Mik*_*wer 11 github ubuntu-server github-actions

我有一个自托管 Github Actions 运行器在我的服务器上运行,用于我的 1 个存储库。但是现在我想将同一个跑步者用于其他回购。

有没有一种方法可以将相同的 Github Actions 运行器重用于其他存储库,而无需创建新的运行器?

Ste*_*ven 8

更新:

从 2020 年 4 月 22 日起,这将成为可能。您现在可以在整个组织中共享跑步者。这允许组织内的存储库使用这些运行器。

https://github.blog/2020-04-22-github-actions-community-momentum-enterprise-capabilities-and-developer-improvements/#share-self-hosted-runners-across-an-organization

旧答案:

根据 Github 合作伙伴的说法,目前这是不可能的:

目前,我们没有跨存储库使用自托管运行器的方法,也没有在组织级别添加自托管运行器的选项。

来源:https : //github.community/t5/GitHub-Actions/Can-one-Github-Actions-self-hosted-runner-work-for-multiple/td-p/41465


Mik*_*wer 7

对于那些想知道我做了什么来解决这个问题的人。我在我的服务器上安装了多个具有不同名称的 GitHub 运行程序。不是最好的解决方案,但现在唯一可能的事情,没有肮脏的解决方法......


Jer*_*ops 5

我们在 AWS Spot 实例上使用自动扩展的自托管 github 操作运行程序。

我们已将其开源:https ://github.com/philips-labs/terraform-aws-github-runner

它的一位创建者发表了一篇关于它的博客文章,其中包含一些有关其工作原理的信息:https://040code.github.io/2020/05/25/scaling-selfhosted-action-runners

一旦运行程序处于活动状态,它就可以从不同的存储库中获取多个构建。一段时间后,空闲的运行程序被终止。当触发新的工作流程时,github 应用程序将创建一个新的运行程序,并且该运行程序将接管工作。