概念
1. GitLab Runner 介绍
GitLab Runner是一个开源项目,用于运行您的作业并将结果发送回GitLab。它与GitLab CI一起使用,GitLab CI是GitLab随附的开源持续集成服务,用于协调作业。
GitLab Runner是用Go编写,可以作为单个二进制文件运行,不需要语言特定的要求。
2. GitLab Runner的三种类型
shared:运行整个平台项目的作业(gitlab)
group:运行特定group下的所有项目的作业(group)
specific:运行指定的项目作业(project)
3. GitLab Runner两种状态
locked:无法运行项目作业
paused:不会运行作业
安装
参考官方文档:在容器中运行 GitLab Runner
docker自动化安装脚本及过程可参照:gitlab-ci自动构建java项目 自行整理
1. 安装docker
2. 使用本地系统卷挂载启动 Runner 容器
此示例将本地系统用于装载到容器中的配置卷。此卷用于配置和其他资源。gitlab-runner
docker run -d --name gitlab-runner --restart always \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
/srv/gitlab-runner/config 挂载路径用于存储config.toml文件
Config.toml 文件格式及参数文档
3. 进入runner 容器进行注册
docker exec -it gitlab-runner bash
root@bb3197ce0e5c:/# gitlab-runner register
Runtime platform arch=amd64 os=linux pid=58 revision=f5da3c5a version=16.6.1
Running in system-mode.
Enter the GitLab instance URL (for example, https://gitlab.com/):
http://192.168.31.103:8888 // 输入gitlab私仓地址
Enter the registration token:
GR1348941xm-z_sSMDN_zVjW-8fH8 // registration token可在Settings -> CI/CD Settings -> Runners -> Expand -> Project runners -> new project runner 旁边三个点,单击可查看和拷贝
Enter a description for the runner:
[bb3197ce0e5c]: CICD runner // runner 描述
Enter tags for the runner (comma-separated):
build-cicd // runner tag 记住这个后续要用
Enter optional maintenance note for the runner:
shell // 填shell就可以
Registering runner... succeeded runner=GR1348941xm-z_sSM
Enter an executor: parallels, virtualbox, docker-autoscaler, instance, kubernetes, docker, docker-windows, shell, ssh, docker+machine, custom:
docker // 此处选docker
Enter the default Docker image (for example, ruby:2.7):
docker:24.0.7 // 查看当前docker版本
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml"
4. 登录gitlab 查看runner是否注册成功
Settings -> CI/CD Settings -> Runners -> Expand -> Project runners,
按tags 和 description 找到相应的runner。
网友评论