GitLabRunner 类型
- shared:运行整个平台项目的作业(Gitlab)
- group:运行特定 group 下的所有项目的作业(group)
- specific:运行指定的项目作业(project)
- locked:无法运行项目作业
- paused:不会运行作业
获取 Runner Token
本地的 Gitlab
shared 类型
获取 shared
类型 runner token,进入系统设置 -> Runners。
group 类型
获取 group
类型的 runner token,进入 group -> Settings -> CI/CD -> Runners -> Group Runners。
specific 类型
获取specific
类型的 runner token,进入具体的项目 -> Settings -> CI/CD -> Runners -> Specific Runners。
Gitlab 官网
group 类型
specific 类型
进行注册
Docker
方式1 交互式注册
# 进入容器 docker exec -it gitlab-runner bash # 执行注册命令 gitlab-runner register • 1 • 2 • 3 • 4
方式2 直接注册
docker run -d --name gitlab-runner --restart=always -v /opt/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner:v12.9.0 register \ --non-interactive \ --executor "shell" \ --url "http://192.168.95.20:88/" \ --registration-token "JRzzw2j1Ji6aBjwvkxAv" \ --description "devops-runner" \ --tag-list "build,deploy" \ --run-untagged="true" \ --locked="false" \ --access-level="not_protected"
普通方式注册
# 执行注册命令 gitlab-runner register
注册效果
其他变量
可以通过 gitlab-runner register --help
查看注册的详细配置选项。
关于注册的常用选项
-c value, --config value 指定配置文件 --template-config value 指定模板配置文件 --tag-list value 指定runner的标签列表,逗号分隔 -n, --non-interactive 无交互进行runner注册 --leave-runner 如果注册失败,不用删除runner -r value, --registration-token value runner的注册token --run-untagged 注册运行未加标签的构建,默认当标签列表为空时值为true --locked 锁定runner 默认true --access-level value 设置访问等级 not_protected or ref_protected; 默认 not_protected --maximum-timeout value 为作业设置最大运行超时时间 默认零 单位秒 --paused 设置runner为 paused,默认 'false' --name value, --description value Runner 名称 --limit value 程序处理的最大构建数量default: "0" --output-limit value 最大的构建大小单位kb default: "0" --request-concurrency value 作业请求的最大并发数 default: "0" -u value, --url value GitlabCI服务器地址 -t value, --token value GitlabCI服务器token
命令
GitLab Runner 包含一组命令,可用于注册,管理和运行构建。
启动命令
# 调试模式排查错误特别有用。 gitlab-runner --debug <command> # 获取帮助信息 gitlab-runner <command> --help # 普通用户模式 配置文件位置 ~/.gitlab-runner/config.toml gitlab-runner run # 超级用户模式 配置文件位置/etc/gitlab-runner/config.toml sudo gitlab-runner run
注册命令
# 默认交互模式下使用,非交互模式添加 --non-interactive gitlab-runner register # 此命令列出了保存在配置文件中的所有运行程序 gitlab-runner list # 此命令检查注册的 runner 是否可以连接,但不验证 GitLab 服务是否正在使用 runner。--delete 删除 gitlab-runner verify # 该命令使用 GitLab 取消已注册的 runner。 gitlab-runner unregister # 使用令牌注销 gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n # 使用名称注销(同名删除第一个) gitlab-runner unregister --name test-runner # 注销所有 gitlab-runner unregister --all-runners
服务管理
# --user 指定将用于执行构建的用户,--working-directory 指定将使用 Shell executor 运行构建时所有数据将存储在目录 gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner # 该命令停止运行并从服务中卸载 GitLab Runner gitlab-runner uninstall # 该命令启动 GitLab Runner 服务。 gitlab-runner start # 该命令停止 GitLab Runner 服务。 gitlab-runner stop # 该命令将停止,然后启动 GitLab Runner 服务。 gitlab-runner restart # 此命令显示 GitLab Runner 服务的状态。当服务正在运行时,退出代码为零;而当服务未运行时,退出代码为非零。 gitlab-runner status