使用极狐GitLab Runner chart
极狐GitLab Runner 子 chart 提供了一个用于运行 CI 作业的极狐GitLab Runner。默认启用并开箱即用支持使用 s3 兼容对象存储进行缓存。
要求
此 chart 依赖于 shared-secrets 作业,来填充其 registrationToken
以进行自动注册。如果您计划将此 chart 在现有的 GitLab 实例之外独立运行,您需要手动将 gitlab-runner
secret 中的 registrationToken
,设置为与运行 GitLab 实例中的设置相同。
配置
有关更多信息,请参阅使用和配置。
部署独立的 runner
默认情况下,gitlabUrl
自动通过 migrations
生成注册令牌。但如果计划与运行的 GitLab 实例部署,将不会这样工作。
在这种情况下,您需要将 gitlabUrl
值设置为正在运行的 GitLab 实例的 URL。您还需要手动创建 gitlab-runner
并填入运行的 GitLab 实例提供的 registrationToken
。
使用 Docker-in-Docker
为了运行 Docker-in-Docker,runner 容器需要具有访问所需功能的权限。要启用它,请将 privileged
值设置为 true
。。
安全考量
特权容器具有扩展功能,例如它们可以从它们运行的主机上挂载任意文件。 确保在隔离的环境中运行容器,这样就不会在它旁边运行任何重要的东西。
默认 runner 配置
GitLab chart 中使用的默认 Runner 配置已定义使用包含的 MinIO 进行缓存。如果您要设置 Runner 的 config
值,您还需要配置自己的缓存。
gitlab-runner:
runners:
config: |
[[runners]]
[runners.kubernetes]
image = "ubuntu:22.04"
{{- if .Values.global.minio.enabled }}
[runners.cache]
Type = "s3"
Path = "gitlab-runner"
Shared = true
[runners.cache.s3]
ServerAddress = {{ include "gitlab-runner.cache-tpl.s3ServerAddress" . }}
BucketName = "runner-cache"
BucketLocation = "us-east-1"
Insecure = false
{{ end }}
所有自定义的极狐GitLab Runner chart 配置均在 gitlab-runner
key 下的顶级的 values.yaml
文件中可用。