简介:
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
作用:
1、Jenkins的主要功能是将项目中重复执行的工作自动化的执行。如软件的建造(构建)和在配置文件下设置的job
2、软件的持续构建和测试,Jenkins提供了一个系统,使开发人员可以很容易的将改变集成到工程中。自动化的,持续的构建有利于提高开发效率
3、监视job的执行,job可以实现很多的功能,Jenkins可以对这些项目进行显示,让用户更清楚的注意到这些 损毁的job
4、项目源代码修改的检测,jenkins能够从项目的Subversion/CVS生成最近修改的集合列表,且不会增加Subversion/CVS Repository的负载
5、分布式构建,Jenkins可以将工程构建到多台机器,更好地利用硬件资源,节省时间
CI/CD概念:
CI(Continuous integration,持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。
CD(Continuous Delivery, 持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging(临时或测试)环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。
如下图(CI/CD 的大概工作模式):
jenkins的安装(前提:已安装JDK):
1、进入jenkins官网:https://jenkins.io,找到LTS(长期支持版本)并根据自己系统版本下载jenkins
//设置jenkins仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
//安装jenkins
yum install jenkins
(jenkins通常安装在/usr/lib/jenkins目录下)
//查看jenkins包
rpm -ql jenkins
2、启动jenkins
systemctl restart jenkins
3、查看jenkins启动状态
systemctl status jenkins.service
4、查看jenkins日记
tail /var/log/jenkins/jenkins.log -f
在启动过程中出现了exited不成功的情况
原因分析:
Jenkins默认程序用户jenkins没有权限创建相关的日志目录导致的
解决办法:
//将相关目录的属主属组改为jenkins
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
//重启jenkins
systemctl restart jenkins
启动成功后如下图:
浏览器中访问 服务器地址:8080 (默认端口8080)即可访问如下界面,等待若干分钟
在管理员界面输入控制台中的密码
选择安装推荐的插件,也可以根据自己所需选择性安装插件
在经过一系列的管理员配置后,我们就可以使用jenkins了
下面贴上一张比较好的Jenkins流程图: