上篇:https://blog.csdn.net/zzwjr123/article/details/112861510
搭建好gitlab服务器,并创建好用户后,继续通过实际项目来尝试自动化部署功能
首先,登录账户创建新空白工程
填写项目名称,这里用test,创建成功后,点击进入工程
此时,可以通过git clone将工程拉下来,并通过git命令对项目进行一系列操作。
git clone
git add
git commit -m “…”
git push -u origin master
git push
接下来,就是需要在放项目的服务器上安装gitlab-runner,通过这个runner来执行gitlab的任务。
具体步骤如下:
一、安装gitlab-runner
1、拉取gitlab-runner 的镜像
docker pull gitlab/gitlab-runner
2、创建挂载目录
mkdir -p /opt/gitlab-runner/config
3、启动容器
docker run -d --name gitlab-runner --restart always -v /opt/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
4、进入docker容器
docker exec -it gitlab-runner bash
5、注册gitlab-runner
gitlab-runner register
6、填写gitlab实例的地址和token
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
http://xxx.xxx.xxx.xxx:xxxx
Please enter the gitlab-ci token for this runner
xxxxxxx
这里的地址和token,可以进入刚才创建的test项目里,选择setting菜单的CI-CD
展开右侧Runner项,可以看到,如下图红线位置
后面还需要输入描述、tags、Runner的执行者以及docker images
输入Runner的描述,后期可以手动修改
Please enter the gitlab-ci description for this runner
test
输入与Runner关联的标签,后期可以手动修改,这里的tags,需要和.gitlab-ci.yml的tags一致,否则runner不会触发
Please enter the gitlab-ci tags for this runner (comma separated):
my-test
输入Ruuner的执行者,这里我们是用docker
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
docker
如果上面执行者为docker,需要你在后续项目根部的.gitlab-ci.yml中指定docker版本,这个值不确定是干嘛的
Please enter the Docker image (eg. ruby:2.1):
alpine:latest
全部填写好之后,在Runner项可以看到新激活的Runner说明配置成功。
注册完毕,修改runner的配置文件,实现runner与宿主机的数据挂载:
vim /opt/gitlab-runner/config/config.toml
内容:
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "my-test"
url = "http://192.168.0.253:8090"
token = "tyXBwC8frbShS4yn3nE5"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "alpine:latest"
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
volumes = ["/cache"]
修改为 volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock"]