jenkins搭建自動化部署平臺
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後就可以進行構建任務了