1.概述
本文介绍使用gitabl runner安装和部署;
2.环境安装
2.1.gitlab
gitlab安装就不介绍了,各位自行了解;
2.2.gitlab runner
简介
gitlab runner是gitlab ci脚本的执行器,分为两种类型:
- Shared Runner:所有工程共用,只有系统管理员可以创建;
- Specific Runner:在指定的工程使用,该工程的管理员可以创建;
安装gitlab-runner
#**安装gitlab-runner
yum install gitlab-runner
注册gitlab-runner
- 先找到需要注册gitlab-runner的project/group,本文给单个项目注册指定的runner
- 执行如下命令,注册runner
#**查看所有的runner
gitlab-runner list
#**开始注册
gitlab-runner register
Runtime platform arch=amd64 os=linux pid=2954078 revision=2ebc4dc4 version=13.9.0
Running in system-mode.
#**注册的地址(上图中的url)
Enter the GitLab instance URL (for example, https://gitlab.com/):
http://10.3.0.232:10080/
#**注册的token(上图中的token)
Enter the registration token:
SqWo-NsswHfdu19ybzm6
#**描述
Enter a description for the runner:
[dev-master]: develop-docker-nodejs
#**标签
Enter tags for the runner (comma-separated):
develop-docker-nodejs
Registering runner... succeeded runner=SqWo-Nss
#**执行器executor,选择docker
Enter an executor: docker, docker-ssh, shell, docker+machine, kubernetes, custom, parallels, ssh, virtualbox, docker-ssh+machine:
docker
#**默认的docker镜像
Enter the default Docker image (for example, ruby:2.6):
Enter the default Docker image (for example, ruby:2.6):
bitsun-node-alpine:v1.0
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
#**注册成功
配置gitlab-runner
设置runner可运行没有指定runner的任务
#**勾选
Run untagged jobs
Indicates whether this runner can pick jobs without tags
//**设置这yes
Can run untagged jobs Yes
#**如果不进行上述设置,需在.gitlab-ci.yml中指定runner
tags:
- develop-docker-nodejs
3.遇到的问题
使用docker执行器,gitlab-ci runner使用docker容器打包项目docker镜像时报错
error during connect: Ge:http://docker:2375/v1.40/version: dial tcp: lookup docker on 223.5.5.5:53: no such host
- 解决:
#**查看gitlab-runner配置文件路径
ps -ef | grep gitlab-runner
#**修改配置文件(/etc/gitlab-runner/config.toml)
#**找到上面注册的runner(develop-docker-nodejs),添加volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]配置
[[runners]]
name = "develop-docker-nodejs"
url = "http://10.3.0.232:10080/"
token = "5qby6oadwzfjmGsK2ztu"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "bitsun-node-alpine:v1.0"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
shm_size = 0
#**重新启动runner
gitlab-runner stop
gitlab-runner start