Jenkins的搭建与基本使用

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 &quot;%r&quot; %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.配置邮件发送

进入系统管理系统设置页面