我正在尝试在所有代理上运行维护工作流程。这是一项类似于“docker system prune”的清理工作。我希望它在周日晚上每周在所有自托管代理(大约 12 个代理)上运行。我注意到工作流可以按计划事件运行。这很棒。但是我没有找到让所有自托管代理运行工作流的方法。有什么建议么?
问问题
194 次
1 回答
1
我相信这个问题更多地与您的操作系统有关,而不是与 GitHub 端的工作流有关。可能可以作为工作流来执行,但是您的代理需要在主机操作系统上,或者可以访问 Docker 套接字。(我不知道您如何托管它们)。无论哪种方式,都可能不安全,具体取决于主机是否也用于其他东西。
正如 GitHub 文档所述,您对自己的操作系统负责。
通常,您可以使用cron安排维护作业,这可能是最常用的一种。如何安装它,取决于您的操作系统。
要添加计划的工作,请运行 command crontab -e
,选择编辑器并将行添加到末尾:
0 3 * * 0 /usr/bin/docker system prune -f
每周日凌晨 03:00 运行。
但是,如果你真的想使用工作流,你可以在这里阅读一些文档。它指出,“标签允许您根据共享特征将工作流作业发送给特定类型的自托管运行器。” 因此,您可以为每个具有不同标签的跑步者创建特定的维护工作。这需要许多预定的作业,因为跑步者不打算为同一个作业多次启动。
于 2021-03-19T16:04:44.687 回答