jenkins搭建自动化部署平台(svn+tomcat重启)
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后就可以进行构建任务了