jenkins搭建自动化部署平台(svn+tomcat重启)

Posted 在路上8

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins搭建自动化部署平台(svn+tomcat重启)相关的知识,希望对你有一定的参考价值。

原文链接:http://blog.csdn.net/zjs40/article/details/51818322

 

jenkins 自动化部署和集成代码的平台

可以将Git svn 上的代码 checkout 然后重新部署服务器,节省开发测试的效率

一、https://jenkins.io/index.html 下载jenkins包(war包)

二、下载完war包   在服务器上最好新建一个tomcat专门用来做jenkins启动的   修改一下server.xml

   文件中修改   :

(1) 修改http访问端口(默认为8080端口 ,修改成不常用的端口,以免冲突)
    <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是以后访问web时所用的端口号。  8888

(2) 修改Shutdown端口(默认为8005端口,防止多个tomcat端口冲突起不起来)
       <Server port="8005" shutdown="SHUTDOWN">
      将8005修改为没有在使用的端口号,例如8088  

(3) 修改JVM启动端口(默认为8009端口)    
     <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

修改后启动tomcat就输入

http://服务器ip:端口号/jenkins 就可以看到jenkins的界面了

进入jenkins会有个等待页,让你输入验证码 (会给你一个服务器的路径)照着服务器路径 找到initialAdminPassword文件( /root/.jenkins)把里面的内容复制到页面输入

就可以进入

接着是配置jenkins登陆的账号密码和下载插件

到这里 jenkins就算是安装成功了

接下去是jenkins配置从svn拉取代码 到tomcat底下进行部署

一、新建一个项目

技术分享图片

 

 

二、

选择一个自由风格的软件项目并且命名进入

技术分享图片

 

三、

技术分享图片

 

选择源码管理,这里是从svn项目检出的 所以选择subversion



Repository URL :这里填写的是点击构建jenkins会从这个地址下把里面的文件检出 Local module directory 配置的路径下的workspace 中

Credentials :这里配置一下svn的 账号密码 

Local module directory 一般配置  ./构建的项目名(/root/.jenkins/jobs/你建的构建任务/workspace/构建的项目名)

最后构建后的项目在./构建的项目名(/root/.jenkins/jobs/你建的构建任务/workspace/构建的项目名) 目录下

这样 从svn拉取代码就配置成功了

技术分享图片

 

 

三、因为我的项目是web项目

所以拉取代码后要部署到tomcat并且重启

这时候

技术分享图片

选择构建步骤

如果是还需要用ant构建一下web项目可以先选择invoke ant配置

我是从本地构建好的web项目 所以构建步骤只选择execute shell

技术分享图片

在command里面写你需要在jenkins把svn的代码拉取到jenkins的jobs目录下需要做的事

 

这里就有三个步骤  一个是将web项目 移到tomcat下的webapps目录下

shutdown tomcat

startup tomcat

成功

 

BUILD_ID=DONTKILLME  (加这个原因是因为没加之前用command startup tomcat一直启动失败而shutdown却是成功的   原因是因为jenkins启动后的进程会被kill掉

所以要加这句,才能启动成功)
cp -a /root/.jenkins/jobs/dragsun_test/workspace/dragsunTest/dist/dragsunTest /home/tomcat/apache-tomcat-7.0.68/webapps(这个是将jenkins拉取的svn代码拷贝到tomcat下)
sh /home/tomcat/apache-tomcat-7.0.68/bin/restart.sh

(自己写的restart脚本)

 

代码如下:

#!/bin/sh
  
  bin=$(cd `dirname $0`; pwd)
  pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk ‘{print $2}‘) 
  
 if [ -n "${pid}" ]; then
      echo "Shutdown..."
     sh ${bin}/shutdown.sh
      sleep 3
 
     pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk ‘{print $2}‘)
     if [ -n "${pid}" ]; then
        kill -9 ${pid}
         sleep 1
     fi
 fi
 
 echo "Startup..."
 sh ${bin}/startup.sh
 if [ "$1" = "-v" ]; then
     tail -f ${bin}/../logs/catalina.out
 fi

这个脚本拷下来粘贴到txt文件下修改后缀成sh文件丢到tomcat的bin目录下是有问题的 会报错

所以拷到服务器后

用vim (tomcat bin目录)/restart.sh

打开文件编辑器查看是否有多余字符,删除

点击键盘Esc 键后输入

:set ff?

查看文件格式 

:set ff=unix

修改文件格式,保存后退出

最后将构建任务保存,并且apply后就可以进行构建任务了
































以上是关于jenkins搭建自动化部署平台(svn+tomcat重启)的主要内容,如果未能解决你的问题,请参考以下文章

Linux下搭建jenkins+svn+http+maven自动化部署

Jenkins+Maven+Svn搭建持续集成环境持续集成和自动部署

linux+jenkins+svn环境搭建以及自动部署django项目构建配置

荧客技荐Jenkins+SVN+Maven 自动化部署环境搭建

jenkins+maven+svn 远程部署到weblogic 持续集成

SVN+Maven+Jenkins自动化部署