1.gitlab服务器搭建
1.1 安装依赖软件
sudo yum install -y git vim gcc glibc-static telnet
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
1.2 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
1.3 安装GitLab
把gitlab安装到腾讯云
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
如果不想设置域名,或者想将来再考虑,可以直接
sudo yum install -y gitlab-ce
安装完成以后,运行下面的命令进行配置
sudo gitlab-ctl reconfigure
1.4打开http://gitlab.example.com/ 修改root用户密码,然后使用root和新密码登陆。
2.搭建Gitlab CI服务器
2.1. 安装Docker
curl -sSL https://get.docker.com/ | sh
2.2. 安装gitlab ci runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-ci-multi-runner -y
查看是否运行正常
[vagrant@gitlab-ci ~]$ sudo gitlab-ci-multi-runner status
gitlab-runner: Service is running!
[vagrant@gitlab-ci ~]$
2.3. 设置Docker权限
为了能让gitlab-runner能正确的执行docker命令,需要把gitlab-runner用户添加到docker group里, 然后重启docker和gitlab ci runner
[vagrant@gitlab-ci ~]$ sudo usermod -aG docker gitlab-runner
[vagrant@gitlab-ci ~]$ sudo service docker restart
Redirecting to /bin/systemctl restart docker.service
[vagrant@gitlab-ci ~]$ sudo gitlab-ci-multi-runner restart
2.4 注册Runner到gitlab上
[root@master chapter12]# gitlab-ci-multi-runner register
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://49.234.231.49
Please enter the gitlab-ci token for this runner:
Please enter the gitlab-ci description for this runner:
[master]:
Please enter the gitlab-ci tags for this runner (comma separated):
testzzm
Whether to run untagged builds [true/false]:
[false]:
Whether to lock Runner to current project [true/false]:
[false]:
Registering runner... succeeded runner=79s-Wdbb
Please enter the executor: shell, docker+machine, ssh, virtualbox, docker-ssh+machine, kubernetes, docker, docker-ssh, parallels:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
[root@master chapter12]#
2.5新建ci的脚本文件
tags如下图所示:
我们发现pipeline成功了
3.基于一个项目演示CI
3.1创建一个java项目
git push
Counting objects: 19, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (19/19), 1.94 KiB | 663.00 KiB/s, done.
Total 19 (delta 0), reused 0 (delta 0)
To http://49.234.231.49/root/javaci.git
* [new branch] master -> master