在 Kubernetes 集群上部署 Gitlab Runner
Gitlab Runner 和 Gitlab 主程序一样,提供了 Helm chart 用于进行安装,同样可以用 helm fetch
下载 Chart 进行定制和渲染:
helm fetch --untar gitlab/gitlab-runner
根据官方文档介绍,Runner 的安装有两个必要参数:
gitlabUrl
:Gitlab 的地址。runnerRegistrationToken
:注册用的 Token。
另外还有一个即将用到的重要参数:runners.image
这个参数可以用来指定 Runner 的基础镜像,以满足不同环节中对 Runner 的需求。
例如为了构建 Java 应用,我们创建一个 Maven 的 Runner。Gitlab 地址我们已经知道了,接下来获取一个 Token,用浏览器打开 /admin/runners
,可以查看:
我们使用这个 Token,创建一个基于 maven:alpine
的 Runner:
$ helm template gitlab-runner \
--namespace gitlab \
--name java \
--set gitlabUrl="https://gitlab.microservice.rocks" \
--set runnerRegistrationToken="xgX4QEt8gklFGSOFu0FURTzfvticEQmqaa3cnosMmoxc1nacYSIMBniRmBgACn19" \
--set rbac.create=true \
--set runners.image="maven:alpine" \
--set runners.tags="java\,maven" \
--set runners.privileged=true | kubectl appy -f
secret/java-gitlab-runner created
configmap/java-gitlab-runner created
serviceaccount/java-gitlab-runner created
deployment.extensions/java-gitlab-runner created
role.rbac.authorization.k8s.io/java-gitlab-runner created
rolebinding.rbac.authorization.k8s.io/java-gitlab-runner created
创建成功之后,打开页面 /admin/runners
,会看到其中列出了我们新建的 Runner:
点击 Runner ID,可以看到详细信息,也可以进行修改。