Linux(centos7) 安装配置gitlab-runner
添加 gitlab-runner yum源curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash安装gitlab-runneryum install gitlab-ci-multi-runner配置及安装进入gitlab项目中,点
- 添加 gitlab-runner yum源
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
- 安装gitlab-runner
yum install gitlab-ci-multi-runner - 配置及安装
进入gitlab项目中,点击setting-ci/cd,展开runner,可以看到配置gitlab-runner的url与token。
4.默认运行程序的用户转换成root(权限高,可以很好的执行操作步骤)
ps aux|grep gitlab-runner #查看当前runner用户
sudo gitlab-runner uninstall #删除gitlab-runner
gitlab-runner install --working-directory /home/gitlab-runner --user root
gitlab-runner restart
ps aux|grep gitlab-runner #再次执行会发现–user的用户名已经更换成root了
5.配置gitlab-runner 的 executors 为 docker的操作
daemon默认监听的是/var/run/docker.sock这个文件,所以docker客户端只要把请求发往这里,daemon就能收到并且做出响应
宿主机的/var/run/docker.sock被映射到了容器内,有以下两个作用:
在容器内只要向/var/run/docker.sock发送http请求就能和Docker Daemon通信了,可以做的事情前面已经试过了,官方提供的API文档中有详细说明,镜像列表、容器列表这些统统不在话下;
如果容器内有docker文件,那么在容器内执行docker ps、docker port这些命令,和在宿主机上执行的效果是一样的,因为容器内和宿主机上的docker文件虽然不同,但是他们的请求发往的是同一个Docker Daemon;
sudo gitlab-runner register -n \
--url http://172.16.100.133:8090/ \
--registration-token G16LftV6hZFcQc1z7364 \
--executor docker \
--description "docker" \
--tag-list "docker" \
--docker-image "docker:19.03" \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock
6,执行cicd-demo的go程序,记得选择tag,不然不知道你的程序在那个runner上执行
后来测试发现做java程序和go差不多,最省事的方法就是在dockerfile中做一些构建,直接在gitlab-runner中做docker命令,打成docker images
更多推荐
所有评论(0)