Gitlab使用(一)--- 搭建gitlab与gitlab-ci环境
程序员文章站
2022-05-31 18:34:10
...
安装Gitlab
1.在/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
2.安装gitlab:
yum install gitlab-ce
3.编辑/etc/gitlab/gitlab.rb文件,改变external_url为自己的域名。
4.执行
gitlab-ctl reconfigure
5.此时gitlab就运行在了80端口上。
安装Gitlab-CI
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | bash
yum install gitlab-ci-multi-runner
usermod -aG docker gitlab-runner #把gitlab-runner加到docker用户组
service docker restart #重启docker服务
gitlab-ci-multi-runner restart #重启runner
gitlab-ci-multi-runner register #把runner注册到gitlab,需要输入的token来自gitlab的ci/cd的runner配置中
gitlab-ci-multi-runner list #查看所有配置好的runner
gitlab的ci操作
在gitlab中新建一个项目,在项目根目录中新建文件.gitlab-ci.yml,内容为:
stages:
- test
- deploy
- release
job1
stage: test
#对应的是gitlab-ci-multi-runner register命令中输入的tag
tags:
- demo
script:
- echo "i am job1"
#只有master分支发生改变,才触发本job
only:
- master
job2
stage: deploy
script:
- echo "i am job2"
- docker build -t hurricane.com:5000/blog .
- if [ $(docker ps -aq --filter name=web) ];then docker rm -f web;fi
- docker run -d --name web hurricane.com:5000/blog .
#提交标签时不触发本job
except:
- tags
docker-relase:
stage: release
script:
- docker build -t hurricane.com:5000/blog .
- docker push hurricane.com:5000/blog:$CI_COMMIT_TAG
tags:
- demo
#只在发生提交标签时触发本job
only:
- tags
提交之后,将自动进行CI操作。
参考:
****:系统学习Docker 践行DevOps理念