极狐GitLab CI/CD 实例配置
极狐GitLab 管理员可以管理其实例的 CI/CD 配置。
在新项目中禁用极狐GitLab CI/CD
极狐GitLab CI/CD 在实例上的所有新项目中默认启用。您可以通过修改以下设置,在新项目中将 CI/CD 设置为默认禁用:
-
gitlab.yml
用于源安装。 -
gitlab.rb
用于 Omnibus GitLab 安装。
已启用 CI/CD 的现有项目保持不变。此外,此设置仅更改项目默认设置,因此项目所有者仍然可以在项目设置中启用 CI/CD。
对于源安装实例:
-
使用编辑器打开
gitlab.yml
并将builds
设置为false
:## Default project features settings default_projects_features: issues: true merge_requests: true wiki: true snippets: false builds: false
-
保存
gitlab.yml
文件。 -
重启极狐GitLab:
sudo service gitlab restart
对于 Omnibus 安装实例:
-
编辑
/etc/gitlab/gitlab.rb
并添加这一行:gitlab_rails['gitlab_default_projects_features_builds'] = false
-
保存
/etc/gitlab/gitlab.rb
文件。 -
重新配置极狐GitLab:
sudo gitlab-ctl reconfigure
设置 needs
作业限制
needs
中可以定义的最大作业数默认为 50。
具有访问 Rails 控制台的极狐GitLab 管理员可以选择自定义限制。例如,要将限制设置为 100
:
Plan.default.actual_limits.update!(ci_needs_size_limit: 100)
要禁用有向无环图 (DAG),请将限制设置为 0
。作业配置为使用 needs 的流水线,然后返回错误 job can only need 0 others
。
更改最大计划流水线频率
计划流水线可以使用任何 cron 值进行配置,但它们并不总是在计划时间准确运行。一个称为计划调度 worker 的内部进程将所有已调度的流水线排入队列,但不会连续运行。Worker 按自己的计划运行,准备启动的计划流水线仅在 worker 下次运行时排队。计划流水线不能比 worker 更频繁地运行。
流水线调度 worker 的默认频率是 3-59/10 * * * *
(每十分钟一次,从 0:03
、0:13
、0:23
等开始)。
要更改流水线调度 worker 的频率:
- 编辑实例的
gitlab.rb
文件中的gitlab_rails['pipeline_schedule_worker_cron']
值。 - 重新配置极狐GitLab,使更改生效。
例如,要将流水线的最大频率设置为一天两次,请将 pipeline_schedule_worker_cron
设置为 0 */12 * * *
的 cron 值(00:00
和 12:00
每天)。