JENKINS自动化CI/CD(一)
• CI/CD概述
• Jenkins介绍
• Jenkins部署
• Jenkins基本配置
• Jenkins核心功能应用
• 综合案例
CI/CD介绍
Jenkins Redhat Packages安装
[root@linux-node1 /]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@linux-node1 /]# uname -r 3.10.0-123.el7.x86_64 [root@linux-node1 /]# ifconfig eth0|sed -n "2p"|awk -F '[ :]+' '{print $3}' 192.168.230.130
To use this repository, run the following command:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificat
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
If you've previously imported the key from Jenkins, the rpm --import
will fail because you already have a key. Please ignore that and move on.
yum install fontconfig java-11-openjdk yum install jenkins
[root@linux-node1 /]# systemctl start jenkins
让Jenkins UI变好看点
修改清华源
[root@linux-node1 updates]# pwd /var/lib/jenkins/updates sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && \ sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
重启生效
http://192.168.230.130:8080/restart
安装中文语言包,重启生效
Localization: Chinese (Simplified)
离线安装插件
Plugin Manager-高级
项目管理:丢弃旧构建,参数化构建
gitlab里创建群组,创建项目和首页源代码文件,需求:把这源代码部署到服务器,实现自动化更新
choice parameter 选项参数,参数化构建主要是配置一些交互,可以让用户去选择
选项名称env名称相当于是一个变量名,选择哪一个会把值赋予给变量
还有个比较常用的string parameter 字符参数
默认是master分支,可以选择其它分支
这两种比较常用内置的参数化构建,通过人工的交互能与jenkins做一些相应的行为
项目管理:自动拉取源代码
自动化部署项目流程:
1.拿到git地址(权限)
2.拉取代码 clone
3.源码编译构建
4.构建文件拷贝到远程web服务器
5.备份现在的程序文件
6.部署新的程序
7.重启,测试访问
创建一个新用户zsq,并加入到群组
以zsq用户登陆
[root@linux-node1 ~]# cd /root/portal/ #进入到项目 [root@linux-node1 portal]# ls index.html README.md [root@linux-node1 portal]# git branch dev #创建dev分支 [root@linux-node1 portal]# git checkout dev #切换dev分支 [root@linux-node1 portal]# vim login.html #创建测试页面 [root@linux-node1 portal]# git add . #提交到暂存区 [root@linux-node1 portal]# git commit -m 'login' #提交到本地仓库 [root@linux-node1 portal]# git push origin dev 推送到远程仓库
查看gitlab已有dev分支
jenkins默认没有安装插件git插件,需要先安装才有git选项,然后用户密码认证
确定能够自动拉取代码,通过参数化的输入能拉对应的分支
在这里也可以引用变量名
验证
选择master分支,pwd显示当前的工作命名空间
选择dev分支,有login.html文件
内置变量
自动执行该项目
定时构建,不管有没有更新都会执行
轮询 SCM,有更新才会执行