jenkins持续集成配置.docx

上传人:b****7 文档编号:9214583 上传时间:2023-02-03 格式:DOCX 页数:15 大小:884.98KB
下载 相关 举报
jenkins持续集成配置.docx_第1页
第1页 / 共15页
jenkins持续集成配置.docx_第2页
第2页 / 共15页
jenkins持续集成配置.docx_第3页
第3页 / 共15页
jenkins持续集成配置.docx_第4页
第4页 / 共15页
jenkins持续集成配置.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

jenkins持续集成配置.docx

《jenkins持续集成配置.docx》由会员分享,可在线阅读,更多相关《jenkins持续集成配置.docx(15页珍藏版)》请在冰豆网上搜索。

jenkins持续集成配置.docx

jenkins持续集成配置

Jenkins环境搭建

(一)简介

Jenkins,是从Hudsonfork出的一个开发分支,因与OracleHudson商标纠纷改名为Jenkins(详见),Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括:

软件版本发布/测试的持续集成、外部调用执行工作的监控等。

(二)jenkins安装

jenkins安装方式有多种,常见的安装方式如下:

一、jenkins.war部署到tomcat容器

1.下载jenkins.war包

2.下载地址:

http:

//jenkins-ci.org/

3.如图:

进入首页,下载最新版本

4.将jenkins.war部署到新解压的tomcat的webapps下,启动tomcat,在浏览器中访问jenkins界面,访问路径:

http:

//IP:

8080/Jenkins.其中IP为jenkins服务器所在的主机ip.

(三)yum安装jenkins

wget -O /etc/yum.repos.d/jenkins.repo http:

//pkg.jenkins-ci.org/redhat/jenkins.repo  

rpm --import http:

//pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

一条一条命令执行完成后,jenkins就安装完成了,然后需要配置下jenkins的端口,避免冲突。

vi /etc/sysconfig/jenkins

进入该文件,这个是jenkins的系统配置文件,

找到2处修改端口号:

JENKINS_PORT="8080"

JENKINS_AJP_PORT="8009"

默认是这样的,我们可以随意修改成自己需要的端口号,避免冲突(tomcat默认端口也是这样的)

这里作者修改成了:

JENKINS_PORT="11111"

JENKINS_AJP_PORT="11112"

接下来我们就可以尝试启动jenkins服务了。

service jenkins start

如果提示:

StartingJenkins                     [确定]

则表示jenkins服务成功启动,你可以通过http:

//ip:

端口号的方式直接访问jenkins了。

但是一般情况下会报错:

Starting Jenkins bash:

 /usr/bin/java:

 没有那个文件或目录  [失败]

如果出现该错误也不需要慌张,报这个错的原因是因为你的jdk配置错误,

执行命令:

java -version

javaversion"1.7.0_71"

Java(TM)SERuntimeEnvironment(build1.7.0_71-b15)

JavaHotSpot(TM)64-BitServerVM(build23.25-b01,mixedmode)

我们可以看到jdk版本为1.7.0_71,复制该名称

vi /etc/init.d/jenkins

找到这段代码

candidates="/etc/alternatives/java/usr/lib/jvm/java-1.6.0/bin/java/usr/lib/jvm/jre-1.6.0/bin/java/usr/lib/jvm/java-1.7.0/bin/java/usr/lib/jvm/jre-1.7.0/bin/java/usr/lib/jvm/java-1.8.0/bin/java/usr/lib/jvm/jre-1.8.0/bin/java/usr/bin/java

我们会发现这里面没有叫1.7.0_71的文件目录

我们在这段代码后面加上

/usr/java/jdk1.7.0_71/bin/java

效果如下:

candidates="/etc/alternatives/java/usr/lib/jvm/java-1.6.0/bin/java/usr/lib/jvm/jre-1.6.0/bin/java/usr/lib/jvm/java-1.7.0/bin/java/usr/lib/jvm/jre-1.7.0/bin/java/usr/lib/jvm/java-1.8.0/bin/java/usr/lib/jvm/jre-1.8.0/bin/java/usr/bin/java/usr/java/jdk1.7.0_25/bin/java"

保存退出。

重新执行启动命令:

service jenkins start

停止命令:

service jenkins stop

重启命令:

service jenkins restart

成功启动后,我们就可以通过http:

//ip:

端口号访问了。

如:

我们的jenkins访问地址:

172.19.21.110:

11111

首页如下图:

(四)设置用户管理:

1.点击系统管理,选择ConfigureGlobalSecurity选项,

2.弹出新的界面,注册管理员用户,并为其添加权限,选择允许用户注册,设置成功后注销,用新的用户登录,

(五)系统配置环境所需的工具

1.点击系统管理-系统设置选项,系统设置页面如图所示,配置jenkins运行所需的环境,

2弹出系统配置界面:

配置jdk,ant,maven,如果是构建maven项目,不用配ant,已经安装好以下软件,就不用勾选自动安装选项,配置成功后,新建job.

 

(六)新建job任务

1.点击新建选项,新建一个job,所示,此处选择构建maven项目,点击ok,进入构建项目配置页面,配置需要构建的相关信息,

跳转到配置页面,此处显示启用项目安全选项,可以为job添加用户权限,选择丢弃旧的构建

2.配置svn,输入svn地址,根据提示,输入用户名及密码

(七)构建触发,

此处选择Buildperiodically,设置定时构建,设置形式点击右侧的问号,显示详细设置信息,

Maven配置,po.xml文件为项目的pom.xml文件

此处说明:

配置maven时,替换maven子目录conf/settings文件为该项目的settings文件,maven本地仓库在settings文件中指定仓库的路径,点开高级选项选择自定义maven本地仓库.Goalsandoptions设置打包,

3.脚本编写,如果是服务器与部署的应用在同一主机上,则不用远程部署,也不用配置从节点,只需编写脚本即可,

如果是linux,选择如下:

编写相应的脚本,

A停止tomcat服务:

注意:

停止tomcat之前必须加上如下的表达式:

BUILD_ID=dontKillMe;

原因:

在jenkins的使用中,遇到过一个场景是:

在web代码更改之后,能自动部署测试服务器,我们写了脚本来重启服务,在使用jenkins的任务自动跑这个脚本后发现,服务没有起来,开始以为是脚本的问题,但是直接执行没有问题,Jenkins任务结束关掉所有的子进程,

临时改变BUILD_ID的值,使得jenkins不会找到脚本启动的后台进程.BUILD_ID=dontKillMe

问题的根本在于jenkins使用processTreeKiller杀掉了所有子进程,而且这是jenkins的默认动作,当一次build结束,或被人终止,必然需要结束这次build启动的子进程.

B备份webapps下不同版本的war包

执行命令,将新打包的应用war包,备份到新的文件夹,命名为当前时间

C清空webapps

只清空webapps下的应用的war包,

D复制war到webapps

每次build都会产生默认的工作空间,将工作空间的war包复制到要部署的服务器上,

E启动tomcat服务

一个简单地构建项目已经完成了,点击应用,保存,立即构建,查看控制台,相应的目录有无出现部署的war包,查看相关日志

完整脚本如下(根据自己的需求修改):

#!

/bin/bash

#defined

exportJAVA_HOME=/opt/java

TOMCAT_HOME="/data4/tomcat"

TOMCAT_PORT=8080

PROJECT="$1"

#paramvalidate

if[$#-lt1];then

echo"youmustuselikethis:

./publish.sh[tomcatport][tomcathomedir]"

echo"youmustuselikethis:

./publish.shIQS8080/data4/tomcat"

exit

fi

if["$2"!

=""];then

TOMCAT_PORT=$2

fi

if["$3"!

=""];then

TOMCAT_HOME="$3"

fi

#shutdowntomcat

cd$TOMCAT_HOME/bin/

./shutdown.sh

sleep3

echo"tomcatshutdown"

sleep2

#checktomcatprocess

tomcat_pid=`/usr/sbin/lsof-n-P-t-i:

$TOMCAT_PORT`

echo"current:

"$tomcat_pid

while[-n"$tomcat_pid"]

do

sleep5

tomcat_pid=`/usr/sbin/lsof-n-P-t-i:

$TOMCAT_PORT`

echo"scantomcatpid:

"$tomcat_pid

done

tomcat_pid=`/usr/sbin/lsof-n-P-t-i:

$TOMCAT_PORT`

echo"scantomcatpid:

"$tomcat_pid

echo"scannotomcatpid,$PROJECTpublishing"

#publishproject

echo"清空旧版本文件"

rm-rf"$TOMCAT_HOME"/webapps/$PROJECT*

echo"清空旧版本缓存……"

rm-rf"$TOMCAT_HOME"/work/Catalina/localhost/$PROJECT*

cp/opt/war/$PROJECT*.war"$TOMCAT_HOME"/webapps/

sleep3

#bakproject

BAK_DIR=/opt/war/bak/$PROJECT/`date+%Y%m%d_%T_%A`

mkdir-p"$BAK_DIR"

echo"备份文件……"

cp$TOMCAT_HOME/webapps/$PROJECT*.war"$BAK_DIR"/

 

sleep6

#removetmp

rm-rf/opt/war/$PROJECT*.war

#starttomcat

cd$TOMCAT_HOME/bin/

nohupshstartup.sh&

echo"tomcatisstarting,pleasetrytoaccess$PROJECTconsloneurl"

 

(八)部署

插件部署,方便快捷,但是有很多局限性

(一)使用插件部署DeploytocontainerPlugin

1.系统管理->管理插件->可选插件->搜索“DeploytocontainerPlugin”,勾选插件直接安装,等着Jenkins自动安装完成。

此时我们打开我们之前新建的项目选择“增加构建后的操作”中增加了一项“Deploywar/eartoacontainer",将我们的war和ear工程部署到容器。

2.我们添加一个deploywar/eartoacontainer选择,Jenkins中构建后操作多出一个发布选项

WAR/EARfiles:

是war包的相对路径

contentpath:

tomcat的发布路径,即使用localhost/(contentpath设置的名字)来访问项目.

contaners:

发布到的容器,主要可发布到tomcat、jboss、GlassFish

deployonfailure:

发生错误的时候是否发布到tomcat

3.点击addcontaners添加发布的容器,我们这里要发布到tomcat,所以我这里添加的是tomcat

如果你部署的是集群环境那么可以添加多个容器来部署应用。

此时只要我们运行我们的任务即可将我们的应用发布到tomcat,记住这里要把应用服务器的防火墙关闭。

这里在多说一点tomcat默认的登录是注释的,我们需要打开。

在tomcat/conf/tomcat-users.xml下添加以下代码即可;

标签中添加代码如下:

使用系统管理->管理插件->可选插件->搜索“PubishOverSSH”,

安装完成后此时我们打开我们之前新建的项目选择“增加构建后的操作”中增加了一项“

(九)邮件服务

1.设置系统管理员邮件地址

2.参考如下链接:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1