2

我们需要使用 Github 操作自托管运行器,因为我们需要访问本地资源。

我知道我们可以在 VM 或 docker 容器上运行自托管运行器。

我们可以按需运行自托管运行器吗?就像 Github 托管的运行器一样,它始终使用干净的隔离 VM,并在作业执行结束时被销毁。或者就像 Azure DevOps/Github 上的作业代理一样,它们创建了干净的作业代理容器来运行管道并在最后被删除。

我们可以用 Gihub-action 自托管运行器做类似的事情吗?例如,允许我们向 Docker 引擎或 Kubernetes 集群注册一个虚拟机作为自托管运行器。当我运行 Github 工作流时,它应该启动一个容器并在该容器内运行工作流。之后,它应该删除容器。

现在可以这样做吗?我不确定 Github 操作的某个地方是否有路线图文档。

4

2 回答 2

2

如果您使用 AWS,可以尝试ec2-github-runner。它完全符合您的要求。

我相信其他云提供商也可以实施相同的方法。

GitHub 本身目前不提供此类功能。

于 2021-03-23T20:38:28.393 回答
0

我认为这个问题有点误导,但是,如果我理解正确,您想要实现的是在您的自托管运行器中运行无状态的 GitHub Actions 工作流。不幸的是,目前这是不可能的。只有 GitHub 托管的运行程序才能按照您描述的方式工作。根据文档

GitHub 托管的运行器始终是一个干净的隔离虚拟机,它在作业执行结束时被销毁。

您可以在此处阅读有关每种跑步者类型之间差异的更多信息。

于 2020-11-16T13:16:58.217 回答