零基础构建Jenkins持续集成平台及自动化应用实战
时间:2024-12-23 15:27 作者:Anglei 分类: 自动化运维
1.Jenkins软件的概念
Jenkins是一款开源的、免费的CI/CD持续集成、持续部署和交付的工具、软件项目,主要是用于快速去部署网站、更新网站代码,使业务系统能够快速的集成、迭代,最终能够第一时间供用户去访问和使用企业产品。
2.Jenkins软件的特点
- 基于Java语言开发的,是Java软件程序;
- 其前身是Hudson商业版本、需要收费使用的;
- Jenkins能够整合各个模块、插件为其工作;
- Jenkins支持WEB界面管理,方便用户的操作。
3.Jenkins软件的组件
- Jenkins持续集成的Linux服务器;
- SVN、GIT代码托管仓库;
- JOB工程,具体关联Jenkins执行的事件;
4.Jenkins软件程序能够方便运维人员、开发人员、测试人员,能够减轻各类的人员工作量,提高工作的效率,具体可以帮助各类人员哪些工作提升?
- 开发人员
引入Jenkins平台之后开发人员只需要负责编写代码即可,源代码程序编写完成之后无需编译、打包、单元测试等工作,统一交给Jenkins完成。 - 运维人员
运维人员无需进行手工去更新、备份、部署网站程序,统一使用Jenkins平台全自动完成,提高运维人员的工作效率。 - 测试人员
测试人员可以通过Jenkins持续集成平台实现网站功能测试、性能测试,可以编写自动化测试脚本交于Jenkins一键去执行、测试等。
5.基于Rocky Linux、OpenEuler22.x Linux操作系统部署一套Jenkins持续集成平台,采用RPM、YUM二进制方式部署,部署的方法和指令如下:
#提前安装lrzsz上传、下载工具;
# yum install -y lrzsz
#上传或者下载Jenkins rpm软件包;
# rz -y
# ls -l jenkins-2.423-1.1.noarch.rpm
#安装Jenkins软件服务;(-i,install安装,-v verbose详细显示,-h hash打印安装进度)
# rpm -ivh jenkins-2.423-1.1.noarch.rpm
#查看Jenkins软件程序是否部署成功;
# rpm -qa|grep -aiE jenkins
#查看Jenkins程序部署的路径;
# rpm -ql jenkins
# find / -name "jenkins*"
#启动Jenkins服务进程;
# systemctl start jenkins.service
#查看Jenkins进程状态;
# ps -ef|grep -aiE jenkins
#Firewalld防火墙对外开放8080端口;
# firewall-cmd --add-port=8080/tcp --permanent
# systemctl reload firewalld.service
6.在Linux命令行终端执行systemctl start jenkins.service指令启动Jenkins服务进程,报错信息一如下所示:
# systemctl start jenkins.service
Job for jenkins.service failed because the control process exited with error code.
See "systemctl status jenkins.service" and "journalctl -xeu jenkins.service" for details.
7.根据如上错误日志的提示,表示启动jenkins.service服务失败因为控制进程退出而且伴随错误代码,请使用如下两个指令查看其详细的日志。
# systemctl status jenkins.service
# journalctl -xeu jenkins.service
8.根据如上错误日志的提示,错误显示启动Jenkins服务失败,为什么启动失败呢,没有给出明显的原因。此时还可以借助Jenkins软件程序自身的日志或者Linux内核日志来定位问题。
# tail -n 30 /var/log/messages
Sep 24 15:01:39 localhost jenkins[2082]: jenkins: failed to find a valid Java installation
9.根据如上错误日志的提示,因为Jenkins是基于Java语言开发的软件程序,运行该程序时需要JDK(JRE)运行环境,而没有找到可用的JDK环境。
解决方法:
# yum install -y java
# java -version
10.根据如上Jenkins指令操作、故障排错,Jenkins持续集成平台构建成功,用户通过浏览器可以访问Jenkins服务器IP地址+8080端口,即可访问Jenkins WEB界面如图所示:
http://192.168.101.128:8080/
11.根据Jenkins UI界面的提示,输入管理员密码解锁安装-选择插件-创建用户名、密码,最终访问Jenkins UI控制台如图所示:
Jenkins自动更新Discuz门户网站
1.在企业生产环境中,开发人员设计了一套网站程序代码(最新的Logo图片文件),作为运维人员要通过Jenkins持续集成平台更新v1.jfedu.net门户网站的Logo图片。
2.打开Jenkins UI控制台-新建Item项目任务-填写任务的名称v1-jfedu-net,选择自由风格Freestyle project-确定即可,如图所示:
3.打开Jenkins UI控制台-选择v1-jfedu-net工程-配置-源码管理-填写SVN|GIT仓库地址、用户名、密码信息,如图所示:
4.打开Jenkins UI控制台-选择v1-jfedu-net工程-配置-选择Build Steps-增加构建步骤-执行SHELL-编写SHELL代码实现Logo图片远程更新,SHELL代码内容如下:
#Cd切换至v1.jfedu.net工程目录;
# cd /var/lib/jenkins/workspace/v1.jfedu.net/
#查看最新Logo图片文件是否下载成功;
# ls -l logo*
#在v1.jfedu.net所在服务器上创建备份目录;
# ssh -l root 192.168.101.147 "mkdir -p /data/backup/`date +%F`"
#将原Logo图片文件或者所在的目录拷贝至备份目录;
# ssh -l root 192.168.101.147 "\cp -r /usr/share/nginx/html/static/image/common/ /data/backup/`date +%F`"
#将最新的Logo图片文件更新至v1.jfedu.net原图片文件所在的位置;
# scp -r logo* root@192.168.101.147:/usr/share/nginx/html/static/image/common/
以上文章来自京峰教育吴光科老师。

本文完结,相关标签: jenkins
推荐阅读:
![]() 路过(0) |
![]() 雷人(0) |
![]() 握手(1) |
![]() 鲜花(0) |
![]() 鸡蛋(0) |