gitlab runners 中的冗余

Redundance in gitlab runners

我想在我的 GitLab 运行ners 中实现冗余。

在创建新服务器之前,我正在尝试使用我的本地计算机。

我存储库中的当前设置:

我希望 GitLab 在选择的不工作时选择另一个 运行ner。

问题是 GitLab 正在选择不工作的 运行ner 并在没有尝试 运行 与另一个 运行ner 的情况下使管道失败。

我怎样才能让它工作?

两个 运行ner 都添加了:

但由于选择了本地 运行ner(不工作),管道失败:

这是一个有趣的边缘案例,因为 运行ner 进程本身仍然是健康的,但是 运行ning 作业失败了。 运行ner 进程在检索作业并尝试 运行 之前不会知道发生这种情况,因此它将继续尝试 运行 作业,并不断失败。

由于 Runner 进程和 Gitlab 都无法捕捉到这种边缘情况,我能看到的唯一选择是,当你因为这个原因看到失败的作业时,暂停项目中的 Runner(如你的屏幕截图所示)或者如果你是管理员(或者可以问管理员),暂停整个实例,假设你是自托管 Gitlab。这将阻止任何新作业 运行 在该 Runner 上运行,以便您可以解决问题。

这将使您 运行 在不同的主机上(或者甚至通过指定单独的 config.toml 文件在同一主机上)运行多个 Runner 进程,因此您仍然可以获得冗余并加快您的管道。

一些快速搜索显示导致此问题的常见问题是 运行 用户的主机 运行 磁盘不足 space,或者可能是 Docker 问题通过更新到最新版本解决。确保 Gitlab 和 运行ners 是最新的可用版本也不会有什么坏处。

您的另一个选择是 submit a new Issue 与 Gitlab 一起看看他们是否可以解决这个问题。理想的情况是,如果 运行ner 系统出现故障,运行ner 应该变得不健康并且不会处理进一步的作业。