CICD是指持续集成和部署,一般涵盖以下过程
常规步骤如下:
1、代码开发
2、代码提交(dev分支)
3、 持续集成自动检查和编译
包含:1、sonar初步检查,代码规范
2、自动编译,代码正确性检查
3、单元测试,google test 执行单测案例
4、 提交代码合并请求【dev分支->master分支】
包含:人工代码review,review通过后,方可合并代码,否则,通知提交放,修改问题代码,再重新提交review代码
5、临时文件清理任务
6、代码自动合并
7、打tag
GitLab CI/CD完整执行过程如下:
1、编写CI/CD配置文件.gitlab-ci.yml,GitLab会检测到它,配置文件里可指定可触发CI/CD的代码分支
2、在push或者merge代码到上述指定的分支,会触发CI/CD流程,就会生成一个对应的Pipeline
3、GitLab-Runner就会将代码拉进来执行Pipeline中的Job,每个Job可指定用来执行它的Runner
4、Runner会初始化Excutor,然后通过git把GitLab的代码仓库拉过来,按照.gitlab-ci.yml里定义的任务来执行
5、本项目把Runner执行后的产物通过挂载的方式,把打包后的代码挂载到指定的目录中,这样就完成了自动化部署
gitlab cicd环境搭建
1、准备一台服务器,在服务器上安装gitlab-ce
1.相关环境、依赖安装
yum -y install policycoreutils openssh-server openssh-clients postfix
yum install policycoreutils-python
systemctl enable sshd && sudo systemctl start sshd
systemctl enable postfix && systemctl start postfix
2.关闭防火墙或者防火墙增加白名单
systemctl stop firewalld.service
3.下载软件
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm/download.rpm
4.开始安装
yum install -y gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
5.修改默认端口
cd /etc/gitlab
vi gitlab.rb
6.在文件中修改 external_url和nginx['listen_port']的key对应的内容,默认port被注释了
external_url 'http://10.251.63.128:80'
nginx['listen_port'] = 80
6.重启
gitlab-ctl reconfigure
gitlab-ctl restart
7.页面输入即可访问,能访问,表示gitlab-ce安装成功了
http://10.251.63.128:80
安装完成后,就可以在浏览器中打开这个链接
默认账号密码
默认账号:root
默认密码:保存在文件中,有效时间24小时
vim /etc/gitlab/initial_root_password
2、安装gitlab-runner
下载安装包
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
安装
sudo yum install gitlab-ci-multi-runner