原文鏈接: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后就可以進行構建任務了