首先介绍一下整体的情况,和我们的需求。
在我们组里,不同的项目和服务,被分到不同的 repo 中,托管在 gitlab 上面。
最近一段时间,由于构建的时间变长,用掉了 gitlab 免费的 2000 minutes。
因此,打算采用自己的 runner,来进行服务的构建和使用。
Gitlab runner 配置有些神奇。
🔙 技术背景
在这之前,我们已经单给 data_service
部署了一个 gitlab-runner
。这是由于data-service
跑 CI 的时间格外长,因此单独进行了配置。
但是没有想到的是,backend-service 耗尽了所有的 gitlab 分钟数。
本文花费了作者 $8
。如果可以的话,请支持一下作者。
🏃♂️ Gitlab Runner 概念
CI 是由 jobs 组成的;
pipeline 是由多个 jobs 组成。
官方文档声称,在 gitlab 中,没有shared runner
,就不能启动 jobs 了。
但其实,只要有 group runner
或者 specific runner
(也就是我们自己配置的 runner),job 也可以正常运行。
要注意一下 tag
选项。tag
选项,并非单纯的对 runner
进行区分。项目也会依据tag
,被分配给不同的runner
。
不过,我们在最初配置runner
时不清楚这一点。我们还以为,就是官方所声称的:
|
|
因此给gitlab
进行了一下信仰充值。后来发觉似乎充值之后,我们配置的group runner
也没有开始运行。
最后我们定位到runner
的tag
问题,最终暂时移除了tag
,解决了问题。
希望 gitlab
能够发展的越来越好。希望Mozilla
支撑下去。