在k8s中部署gitlab runner
安装helm
前往helm官方仓库,根据自己的环境安装helm。
也可直接下载对应环境已构建好的压缩包,解压后将helm二进制文件复制至PATH变量下的目录中。
添加官方helm仓库
我们通过官方helm仓库来进行部署,也便于后期的升级维护。
仔细阅读一下官方chart的说明文件,根据自己的需求修改添加一下配置即可。
配置示例
---
#gitlab的地址
gitlabUrl: "https://***"
#开启rbac
rbac:
create: "true"
#runner注册token,在全局runner设置页面
runnerRegistrationToken: "***"
#具体runner参数
runners:
#容器镜像
image: "***"
#镜像拉取策略
imagePullPolicy: "if-not-present"
#CI容器运行命名空间(非runner的运行命名空间)
namespace: "gitlab-runner"
#runner标签
tags: "***"
#runner 容器中需要添加的自定义变量,如helm、gradle等,我们可以通过变量来指定一些环境,避免需要自构建容器镜像,建议直接使用官方镜像,后期升级构建环境也方便,后续人员维护也直观。
env:
name: value
#runner缓存,根据需要选择。可以使用挂载PVC的方式来进行缓存,这样就需要自定义一些缓存方式。如使用此方式,就可以使用gitlab runner的cache字段来添加一下缓存了,各有优劣。
cache:
#自建环境的话,目前国内可选的就是S3了,可以使用支持S3协议的存储,如minio
cacheType: s3
cachePath: "gitlab_runner"
cacheShared: true
s3ServerAddress: minio.chaohi-public.svc.cluster.local:9000
s3BucketName: gitlab-cache
s3BucketLocation:
s3CacheInsecure: true
secretName: minio
#官方提供的shell脚本入口,会在CI运行前执行,这里我们写了一个cat添加配置文件内容,用来给runner的POD添加PVC挂载,做一些缓存与持久化的数据,其他类型请参考官方文件说明(不支持subpath)。
preEntrypointScript: |
# kubernetes volumes
cat << EOF >> /home/gitlab-runner/.gitlab-runner/config.toml
#k8s PVC
[[runners.kubernetes.volumes.pvc]]
#名称
name = "***"
#挂载路径
mount_path = "/opt/"
#k8s secret
[[runners.kubernetes.volumes.secret]]
name = "***"
mount_path = "/cert/"
EOF
最后修改:2020-07-27 16:07:52
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
