一.部署環境
系統 Centos7
和上期的jenkins在一臺主機,jenkins服務使用的tomcat是8080端口,本次JAVA項目部署使用的tomcat是8090端口git
二.部署流程和所需工具github
所需工具: maven、tomcatweb
三.部署過程
1.修改部署JAVA項目的tomcat端口爲8090
將解壓的tomcat包放到/opt下
修改端口爲8090
vim conf/server.xml
將全部端口號都加10 ,防止與主服務衝突vim
2.在jenkins上建立testDeploy任務tomcat
設置jenkins鏈接githubbash
輸入項目github的帳號和密碼
認證選擇本身的帳號的密碼app
構建,構建完保存,deploy.sh腳本下面介紹
以前安裝好的maven模塊,如今須要調用webapp
執行構建
查看輸出
執行成功maven
查看生成構建的任務
注:不加build_id最後腳本執行完,tomcat啓動後會被殺掉ide
3.編寫部署腳本
#!/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腳本
腳本正常
第一次目錄下沒有hello.war包,因此報錯
四.執行項目部署
查看控制檯輸出
成功
正常啓動
兩個tomcat
部署的項目目錄已經有複製過來的hello.war包,而且已經自動解壓
以前備份的hello.war包