CI&CD:
持续集成注重将各个开发者的工作集合到一个代码仓库中,通常每天会进行几次, 主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。
持续交付的目的是最小化部署或发布过程中团队固有的摩擦, 它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成代码发布(理想情况下)。
持续部署是一种更高程度的自动化,无论何时代码有较大改动, 都会自动进行构建/部署。
Jenkins:
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
官方文档:
https://www.jenkins.io/zh/doc/
环境:
Jenkins:192.168.8.20
gitlab: 192.168.8.10
1.安装:
复制jenkins包到虚拟机/root下
cd /root
rpm -ivh jenkins-2.222-1.1.noarch.rpm
2.修改配置文件(默认jenkins端口为8080,如果同gitlab一起安装,需要修改端口)
vim /etc/sysconfig/jenkins
修改:
JENKINS_USER="root"
JENKINS_PORT="8081"
保存退出
3.启动jenkins
systemctl start jenkins
systemctl enable jenkins
4.加快更新
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
更改:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
保存退出
vim /var/lib/jenkins/updates/default.json
更改第一行:把www.google.com改成www.baidu.com
保存退出
systemctl restart jenkins
5.登录jenkins
http://192.168.8.20:8081
6.输入密码
cat /var/lib/jenkins/secrets/initialAdminPassword
复制加密密码字段,粘贴到web
7.选择安装插件
选择右上角“X”,进入
8.复制插件包到虚拟机
解压复制内容到/var/lib/jenkins/plugins下
9.修改admin用户密码
右上角--admin点击下拉三角--Configure--Password字段--修改密码--save保存
重启服务:systemctl restart jenkins
10.jenkins关联gitlab
(1)点击左上角logo--回到主页面--选择新项目“New Item”--填写项目名--选择项目类型“Freestyle project”--save保存
(2)配置项目--源代码管理--git--填写存储库网址(git@192.168.8.10:dev/web.git)--(上传jenkins服务器公钥到项目组用户或添加root用户认证)
--如果认证成功--save保存
(3)选择项目--左侧选择“build now”--下面构建历史出现蓝色标志--选择蓝色标志下拉列表--console output--输出执行过程
(4)jenkins服务器上查看/var/lib/jenkins/workspace目录,会有项目同名文件夹,保存git clone 的所有代码