Jenkins是一个开源项目软件,是基于Java开发的一种持续集成工具,用于监控持续重复工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
(1)持续集成和持续交付
作为一个可扩展的自动化服务器,Jenkins可以作为一件简单的持续集成(Continuous Intergration,CI)服务器,或者成为任何项目的持续交付中心。
(2)安装方便
Jenkins是一个基于Java的独立程序,包含Windows、Mac OS和其他类UNIX系统的程序包。
(3)简单的配置
JenKins可以通过其WEB界面轻松的设置和配置,其中包括动态错误检查和内置帮助。
(4)丰富的插件
在Jenkins插件中心有数百个插件,Jenkins在持续集成和持续交付工具链中集成了几乎所有工具
(5)可扩展
Jenkins可以通过插件架构进行扩展,这为Jenkins提供了几乎无限的可能性
(6)分布式
JenKins可以轻松的在多台服务器上分发工作,帮助用户在多个平台更快的驱动构建、测试和部署
1.部署JenKins
既然需要借助Jenkins来实现持续集成、交付和监控等工作,name必然需要将其部署在一台7*24小时开机的服务器上,一般来说,这是一台linux服务器。
(1)部署Tomcat环境
安装JDK
root@ebs-26932:~# add-apt-repository ppa:webupd8team/java
root@ebs-26932:~# apt-get update
apt install oracle-java11-set-default
下载
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz
解压gz
gunzip apache-tomcat-9.0.20.tar.gz
解压tar
tar -xvf apache-tomcat-9.0.20.tar
配置server.xml
<Service name=”Catalina” defaultHost=”211.145.195.202″>
<Connector port=”12000″ protocol=”HTTP/1.1″
connectionTimeout=”20000″/>
<!– Define an AJP 1.3 Connector on port 8009 –>
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”12000″ />
<Engine name=”Catalina” defaultHost=”IP地址”>
<Realm className=”org.apache.catalina.realm.LockOutRealm”>
<Realm className=”org.apache.catalina.realm.UserDatabaseRealm”
resourceName=”UserDatabase”/>
</Realm>
<Host name=”IP地址” appBase=”webapps” unpackWARs=”true” autoDeploy=”true”>
<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
prefix=”localhost_access_log” suffix=”.txt”
pattern=”%h %l %u %t "%r" %s %b” />
</Host>
</Engine>
</Service>
启动tomcat
root@ebs-26932:~/apache-tomcat-9.0.20/bin# ./startup.sh
Using CATALINA_BASE: /root/apache-tomcat-9.0.20
Using CATALINA_HOME: /root/apache-tomcat-9.0.20
Using CATALINA_TMPDIR: /root/apache-tomcat-9.0.20/temp
Using JRE_HOME: /usr/lib/jvm/java-11-oracle
Using CLASSPATH: /root/apache-tomcat-9.0.20/bin/bootstrap.jar:/root/apache-tomcat-9.0.20/bin/tomcat-juli.jar
Tomcat started.
检查tomcat服务是否启动成功。访问tomcat,查看其是否启动成功,在浏览器输入linux服务器的IP地址,加上8080端口,可以看到类似下图的界面
(2)在TOMCAT中部署Jenkins
下载至webapp目录
root@ebs-26932:~/apache-tomcat-9.0.20/webapps# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
重启TOMCAT
root@ebs-26932:~/apache-tomcat-9.0.20/bin# ./shutdown.sh
Using CATALINA_BASE: /root/apache-tomcat-9.0.20
Using CATALINA_HOME: /root/apache-tomcat-9.0.20
Using CATALINA_TMPDIR: /root/apache-tomcat-9.0.20/temp
Using JRE_HOME: /usr/lib/jvm/java-11-oracle
Using CLASSPATH: /root/apache-tomcat-9.0.20/bin/bootstrap.jar:/root/apache-tomcat-9.0.20/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: –add-opens=java.base/java.lang=ALL-UNNAMED –add-opens=java.base/java.io=ALL-UNNAMED –add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
root@ebs-26932:~/apache-tomcat-9.0.20/bin# ./startup.sh
Using CATALINA_BASE: /root/apache-tomcat-9.0.20
Using CATALINA_HOME: /root/apache-tomcat-9.0.20
Using CATALINA_TMPDIR: /root/apache-tomcat-9.0.20/temp
Using JRE_HOME: /usr/lib/jvm/java-11-oracle
Using CLASSPATH: /root/apache-tomcat-9.0.20/bin/bootstrap.jar:/root/apache-tomcat-9.0.20/bin/tomcat-juli.jar
Tomcat started.
访问并配置Jenkins
安装完成登录后,页面空白
手工输入URL /jenkins/pluginManager/advanced
将升级站点的URL替换未 http://updates.jenkins.io/update-center.json
重启TOMCAT即可
2.管理插件
Jenkins提供了数百个插件来支持构建、部署和自动化任何项目。下面介绍管理Jenkins插件的方法
登录Jenkins后,可以看到如图所示界面:
选择系统管理–管理插件,进入插件管理界面
(1)安装插件
打开“可选插件”选项卡,在过虑框中搜索关键字,这里以安装PHP插件为例,搜索关键字PHP,选中插件左侧的复选框,单击“直接安装”
选中安装完成后重启Jenkins复选框,这样Jenkins会在插件安装完成后,空闲时自动重启,以使新安装的插件生效。因此,用户只需等待Jenkins重启完成即可
3.创建项目
通过浏览器登录到Jenjins
选择新建选项,输入任务名称,选择构建一个自由风格的软件项目,单击确定
在构建选项卡,在增加构建步骤下拉列表中选择执行SHELL选项
在command框中,输入要执行的shell命令,单击保存
构建任务,单击右侧构建图标,完成构建
查看控制台日志,单击项目名称,当鼠标指针悬停在某次构建任务上时,出现下拉三角,选择下拉列表中的console output选项
打开控制台,输出页面如图所示
4.配置项目运行频率
每次构建任务都手动单击可不是一件美妙的事情,得想个办法让Jenkins独立完成这种重复工作,选择要设置的项目名称,选择配置项目,打开构建触发器,选中“build periodically”复选框,在出现的日程表框中,输入下图显示的内容,观察下方出现的信息
构建频率包含5个参数,其含义依次如下
分钟:取值范围为0~59(建议用H来标记,以均匀传播负载)
小时:取值范围为0~23
天:取值范围为1~31
月:取值范围为1~12
星期:取值范围为0~7
5.配置邮件发送
进入系统管理–系统设置页面