软件交付的步骤一般是以下几个:需求分析、设计、实现、测试、维护等,传统的软件开发使用的是瀑布模型(一个步骤完成后才开始下一个步骤),这样就会导致一些问题:在软件开发的后期才会看到成果,如果客户不满意会导致大量无效的投入;代码开发完成才统一部署、如果有线上的代码扫描会导致大量的代码错误;
为减小项目交付的风险将大的项目拆分成小的项目进行迭代开发,则可以有效的减小项目风险、提高项目开发质量,同时衍生出了持续集成(CI 频繁的将分支代码合并到主干),持续部署(CD 频繁的进行代码的部署);jenkins就是为了实现CI和CD的一款工具,拉取git上的分支代码通过maven、k8s等进行打包部署,配置好之后可以一键自动部署不再需要手动操作;
持续集成的好处:降低风险,持续不断的提交代码、编译、测试,能够在早期发现问题并修复,较少发布风险,拆分后的版本小更容易把控风险和进度;
jenkins的安装:
本机使用虚拟机centos 7.9.2009 安装gitlab,虚拟机ip地址是 192.168.60.151, 步骤记录如下
1、下载jenkins,安装jenkins之前需要安装jdk
jdk和jenkins的版本对应关系参考:Redhat Jenkins Packages
2、我使用jdk17,下载 jenkins-2.426.3-1.1.noarch.rpm 版本,下载后上传到centos服务器
安装命令:rpm -ivh jenkins-2.426.3-1.1.noarch.rpm
jenkins的功能基本都是通过安装插件实现,jdk1.8支持的jenkins版本很多插件都不再支持,所以务必安装jdk11或jdk17 选择更高版本的jenkins 以便更好的支持插件!!!
3、安装完成之后使用 vi /usr/lib/systemd/system/jenkins.service (不同的版本路径有差异,也可能是 /etc/sysconfig/jenkins),修改默认端口和jdk路径:
JENKINS PORT="8888"
4、启动jenkins:
systemctl start jenkins
5、访问jenkins,此时需要开放8888端口:
开放 8888 端口:
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
访问:
http://192.168.60.151:8888
第一次访问需要输入管理员密码:运行cat 红色字体 获得密码并填充
6、常用命令
sudo systemctl status jenkins 查看jenkins运行状态
7、jenkins的文档如下
Jenkins持续集成从入门到精通.pdf
链接:https://pan.baidu.com/s/1DWH0RruuFBQn0PDE2J4oOw?pwd=ru35