Continuous integration 正在寻找在Github操作池中的所有自托管代理上运行工作流的方法

Continuous integration 正在寻找在Github操作池中的所有自托管代理上运行工作流的方法,continuous-integration,workflow,github-actions,github-actions-self-hosted-runners,Continuous Integration,Workflow,Github Actions,Github Actions Self Hosted Runners,我正在尝试在所有代理上运行维护工作流。 这是一项像“docker系统修剪”一样的清洁工作。我希望它能在周日晚上在所有的自助主机代理(大约12个代理)上运行。 我注意到工作流可以按计划运行。这太棒了。 但是我没有找到让所有自托管代理运行工作流的方法。有什么建议吗?我认为这个问题更多的是关于您的操作系统,而不是关于GitHub端的工作流。可能可以按工作流执行,但您的代理需要位于主机操作系统上,或者具有Docker socket的访问权限。(我不知道你是如何接待他们的)。无论哪种方式,都可能是不安全的

我正在尝试在所有代理上运行维护工作流。 这是一项像“docker系统修剪”一样的清洁工作。我希望它能在周日晚上在所有的自助主机代理(大约12个代理)上运行。 我注意到工作流可以按计划运行。这太棒了。
但是我没有找到让所有自托管代理运行工作流的方法。有什么建议吗?

我认为这个问题更多的是关于您的操作系统,而不是关于GitHub端的工作流。可能可以按工作流执行,但您的代理需要位于主机操作系统上,或者具有Docker socket的访问权限。(我不知道你是如何接待他们的)。无论哪种方式,都可能是不安全的,这取决于主机是否也用于其他对象

作为GitHub文档,您对自己的操作系统负责

通常,您可以使用计划维护作业,可能是最常用的。如何安装它,取决于您的操作系统

要添加计划工时,请运行命令
crontab-e
,选择编辑器并在末尾添加行:

03**0/usr/bin/docker系统prune-f
每周星期日凌晨3:00运行


但是,如果您真的想使用工作流,您可以阅读其中的一些文档,其中指出“标签允许您根据其共享特征将工作流作业发送给特定类型的自托管跑步者”。因此,您可以为每个具有不同标签的跑步者创建特定的维护作业。这需要许多计划作业,因为运行人员不打算为同一作业启动多次。

是。我明白你的意思。我根据每个代理的代理名称创建了标签,以便可以对它们进行操作,然后运行一个矩阵作业进行清理。我看不到更好的解决办法。谢谢你的回复。赏金是你的。