Jenkins+Gradle實現持續部署

一:安裝配置Subversion+ToriesSVN

1.下載安裝Subversion作爲版本控制服務器

2.下載安裝toriessvn代碼管理客戶端工具

3.在任意盤創建空白文件夾SVNRepository,點擊右鍵,選擇ToriesSVN,選擇Create repository here

4.進入該文件夾,在passwd文件中添加用戶名、密碼

5.爲了使用Subversion需要先啓動Subversion服務,方法如下,cmd中執行如下命令

sc create SVNService binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\SVNRepository" displayname= "SVNService" depend= Tcpip start= auto
如果添加成功,在service中能看到SVNService的服務
再執行  net start Subversion,則啓動服務成功
6.現在就可以通過Subversion和ToriesSVN管理代碼了,代碼是用Intelijje完成,Intelijje中添加Gradle插件作爲部署工具
二:本地安裝tomcat,下載Jenkins的jar包,放到tomcat的webapps下,啓動tomcat,進入http://localhost:8080/jenkins/  就可訪問Jenkins了
三:安裝虛擬機,虛擬機上面安裝Linux作爲web程序服務器,Linux上安裝Tomcat作爲web容器,Jenkin相關配置如下
進入該頁面 http://localhost:8080/jenkins/configure,配置SSH Remote Host
注意:不要用root作爲用戶名,需要在Linux上新創建一個用戶名,否則無法鏈接成功

四:創建Job,配置Job,編寫deploy腳本配置到Jekins中

1.配置Job的SVN地址

2.配置deploy腳本,實現自動部署



3. deploy腳本思路: 殺tomcat進程——備份老的war包——拷貝新的War包到webapps目錄——重新啓動tomcat

備註:通過ftp實現將本地的war到放入Linux服務器上,腳本如下

#解決console輸入亂碼

export LANG="en_US.UTF-8"

#build後的war包
WARFILE_PATH=Users/Crown/.jenkins/jobs/Test002/workspace/WAP/build/libs/
WARFILE_NAME=MyTest001.war
#虛擬機上的tomcat路徑
REMOTE_PATH=/opt/tomcat7/webapps
#備份年月日
BAK_DT=`date +%Y%m%d%H%M%S`
#FTP_IP
FTP_IP=192.168.199.108
#FTP_PORT
FTP_PORT=21
#FTP_USER
FTP_USER=qiaotl
#FTP_PWD
FTP_PWD=qiaotl
#1.殺當前應用進程
tomcat_pids=`ps -ef|grep tomcat |awk '{print $2}'`
for tomcat_pid in ${tomcat_pids}
do
  echo "process id is ${tomcat_pid}"
  kill -9 $tomcat_pid
  echo "KILL process ${tomcat_pid} successfully!"
done
#2.備份文件
#2.1.進入目錄

cd ${REMOTE_PATH}

#2.2.判斷文件是否存在,若存在則備份
if [ ! -f "${WARFILE_NAME}" ]; then
  echo "No file!"
else
  mv ${WARFILE_NAME} ${WARFILE_NAME}${BAK_DT}
  echo "Backup file successfully!"
fi

echo "Get into FTP to Get new file"
ftp -n<<!
open ${FTP_IP} ${FTP_PORT}
user ${FTP_USER} ${FTP_PWD}
binary
prompt
cd ${WARFILE_PATH}
get ${WARFILE_NAME}
close
bye
!
echo "Get file successfully!"
#4.啓動應用
export JAVA_HOME=/usr/mysoft/jdk1.6.0_45
sh /opt/tomcat7/bin/startup.sh > qtl.txt
echo "Restarted Successfully!"

注意:

1.啓動tomcat時要載入java_home 變量,不然執行startup.sh不成功

2.啓動後,添加一條echo命令,因爲startup.sh命令有輸出內容,Jenkins對於有輸出的會返回exit-status!=0,這樣構建Job會失敗

五:構建job



六:查看linux服務器webapp目錄

七:訪問MyTest001






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章