持續集成工具jenkins部署發佈JAVA項目(二)

一.部署環境
系統 Centos7
和上期的jenkins在一臺主機,jenkins服務使用的tomcat是8080端口,本次JAVA項目部署使用的tomcat是8090端口git

二.部署流程和所需工具
持續集成工具jenkins部署發佈JAVA項目(二)github

所需工具: maven、tomcatweb

三.部署過程
1.修改部署JAVA項目的tomcat端口爲8090
將解壓的tomcat包放到/opt下
持續集成工具jenkins部署發佈JAVA項目(二)
修改端口爲8090
vim conf/server.xml
將全部端口號都加10 ,防止與主服務衝突vim

2.在jenkins上建立testDeploy任務
持續集成工具jenkins部署發佈JAVA項目(二)tomcat

設置jenkins鏈接github
持續集成工具jenkins部署發佈JAVA項目(二)bash

輸入項目github的帳號和密碼
持續集成工具jenkins部署發佈JAVA項目(二)
認證選擇本身的帳號的密碼
持續集成工具jenkins部署發佈JAVA項目(二)app

構建,構建完保存,deploy.sh腳本下面介紹
持續集成工具jenkins部署發佈JAVA項目(二)
以前安裝好的maven模塊,如今須要調用
持續集成工具jenkins部署發佈JAVA項目(二)webapp

執行構建
持續集成工具jenkins部署發佈JAVA項目(二)
查看輸出
持續集成工具jenkins部署發佈JAVA項目(二)
執行成功
持續集成工具jenkins部署發佈JAVA項目(二)maven

查看生成構建的任務
持續集成工具jenkins部署發佈JAVA項目(二)
注:不加build_id最後腳本執行完,tomcat啓動後會被殺掉ide

3.編寫部署腳本
持續集成工具jenkins部署發佈JAVA項目(二)
#!/bin/bash

tomcat_home=/opt/tomcat
#1.檢測 tomcat 是否存在
tomcat=ps -ef |grep /opt/tomcat | grep -v 'grep\|tail'| awk '{print $2}'
echo ${tomcat}

if test -z ${tomcat}
then
echo "tomcat 沒有啓動"
else
echo "關閉 tomcat"
sh ${tomcat_home}/bin/shutdown.sh
sleep 2
fi

#2.備份原先/opt下的war包
mv ${tomcat_home}/webapps/hello.war /mnt/hello.war-$(date +%Y%m%d-%H:%M:%S)

#3.將jenkins workspace中打包好的包放到/opt下的tomcat
cp -r /root/.jenkins/workspace/testDeploy/target/hello.war ${tomcat_home}/webapps/hello.war

#4.啓動/opt下的 tomcat
sh ${tomcat_home}/bin/startup.sh

tomcat=ps -ef |grep /opt/tomcat | grep -v 'grep\|tail'| awk '{print $2}'
echo ${tomcat}
sleep 6

if test -z ${tomcat}
then
echo "tomcat 啓動失敗"
else
echo "部署成功"
fi

測試deploy.sh腳本
持續集成工具jenkins部署發佈JAVA項目(二)
腳本正常
持續集成工具jenkins部署發佈JAVA項目(二)
第一次目錄下沒有hello.war包,因此報錯

四.執行項目部署
持續集成工具jenkins部署發佈JAVA項目(二)
查看控制檯輸出
持續集成工具jenkins部署發佈JAVA項目(二)
成功
持續集成工具jenkins部署發佈JAVA項目(二)
正常啓動
持續集成工具jenkins部署發佈JAVA項目(二)

兩個tomcat
持續集成工具jenkins部署發佈JAVA項目(二)
持續集成工具jenkins部署發佈JAVA項目(二)

部署的項目目錄已經有複製過來的hello.war包,而且已經自動解壓
持續集成工具jenkins部署發佈JAVA項目(二)

以前備份的hello.war包
持續集成工具jenkins部署發佈JAVA項目(二)

相關文章
相關標籤/搜索