GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channel=content&utm_source=csdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。
更多关于极狐GitLab :https://gitlab.cn 或者 DevOps 的最佳实践,可以关注文末的极狐GitLab 公众号。
学习极狐GitLab 的相关资料:
- 极狐GitLab 官网:https://gitlab.cn
- 极狐GitLab 官网文档:https://docs.gitlab.cn
- 极狐GitLab 论坛:https://forum.gitlab.cn/
- 极狐GitLab 安装配置:https://gitlab.cn/install
- 极狐GitLab 资源中心:https://resources.gitlab.cn
关联阅读
- 如何在Anolis 8 安装 极狐GitLab Runner
- 如何在CentOS 安装极狐GitLab Runner?
- 使用 kind 集群安装运行极狐GitLab Runner【上】
- 使用 kind 集群安装运行极狐GitLab Runner【下】
- 用 K3s 来运行安装和极狐 GitLab Runner
搜索【极狐GitLab】公众号,后台输入加群,备注gitlab,即可加入官方微信技术交流群。
极狐GitLab 公众号后台回复新手指南,免费领取极狐GitLab 新手指南一份,从零到一快速上手极狐GitLab。
使用 Operator 创建 GitLab Runner
本文使用 GitLab 中国发行版——极狐GitLab 来进行测试。极狐GitLab 是 GitLab 除 CE/EE 之外发行的另外一个版本,专门面向中国用户。可以私有化部署,也可以使用 SaaS(jihulab.com)。
创建 GitLab Runner 之前,需要明确创建什么样的 Runner,是共享的还是专有的,是群组级别的还是项目级别的。关于 GitLab Runner 的作用范围可以查看 GitLab Runner 官方文档。
获取 Runner 注册 token
以注册项目 Runner 为例来说,在项目 --> 设置 --> CI/CD --> Runner 中,选择新建项目 Runner:
点击新建项目 Runner 选项,在出现的界面中填写好对于的信息,包括 Runner 标签、描述等:
点击创建 Runner 就会出现注册 Runner 的命令,在命令中就有 Runner 注册的 token,默认以 plrt
开头。
一定要保存好此 token,后面会用到。
创建包含注册 token 的 secret
将上一步中获取的 Runner 注册 token 存入下方的 yaml 文件:
cat > gitlab-runner-secret.yml << EOF
apiVersion: v1
kind: Secret
metadata:
name: jh-gitlab-runner-secret
type: Opaque
stringData:
runner-registration-token: REPLACE_ME # 上一步中创建的 Runner 注册 token
EOF
使用如下命令创建 secret
$ kubectl apply -f gitlab-runner-secret.yml
secret/jh-gitlab-runner-secret created
创建 Runner CRD
Runner CRD yaml 文件内容如下:
cat > gitlab-runner.yml << EOF
apiVersion: apps.gitlab.com/v1beta2
kind: Runner
metadata:
name: gitlab-runner
spec:
gitlabUrl: https://jihulab.com
buildImage: alpine
token: jh-gitlab-runner-secret
EOF
参数说明:
- gitlabUrl:GitLab/极狐GitLab 实例的地址,本文使用极狐GitLab SaaS,地址为
https://jihulab.com
。 - token:上一步创建的 secret 名称。
使用如下命令完成 Runner CRD 的创建:
$ kubectl apply -f gitlab-runner.yml
runner.apps.gitlab.com/jh-gitlab-runner created
接着确认一下 Runner CRD 是否创建成功:
# 查看 Runner CRD 资源
kubectl get runner
NAME AGE
jh-gitlab-runner 20h
# 查看 Runner pod
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
jh-gitlab-runner-runner-6f7c4bf7dc-r9lzh 1/1 Running 0 16h
接着就可以在项目的 Runner 页面查看 Runner 是否注册成功:
可以看到标签为有一个该项目专用的 Runner 已经注册成功。接下来测试此 Runner。
Runner 测试
在项目的 .gitlab-ci.yml
文件中写入一个构建容器镜像并推送到极狐GitLab 内置的镜像仓库的 Job 配置:
build:
image: docker:latest
stage: build
tags:
- jh
services:
- docker:20.10.7-dind
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker build -t $CI_REGISTRY_IMAGE:v1.0.0 .
- docker push $CI_REGISTRY_IMAGE:v1.0.0
触发流水线,然后在项目 --> 构建 --> 流水线中查看结果:
可以看到流水线构建成功。再查看构建日志,确认构建此次流水线所需的 Runner 是否为上面创建的 Runner:
从红色方框的信息看,此次 CI/CD 流水线构建使用的就是上述用 GitLab Runner Operator 创建出来的 Runner。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。