jenkins配置自動部署java程序

任務背景

該項目包含4個程序包:a.jar,b.jar,c.jar,d.jar,每次啓動前須要修改程序中的配置文件(修改數據源配置),而後按照前後順序啓動。

任務目標

1.利用jenkins拉取代碼,且在打包前就修改好配置文件
2.打好包後,將4個程序包傳輸至測試服務器,並遠程執行事先寫好的啓動腳本

配置步驟

1.先新建一個Maven任務,配置好源碼地址以及build配置

2.完成上述配置後,構建一次,看看工做空間的內容
這裏顯示的就是這個工程的代碼結構,即從git拉取代碼後在jenkins工做空間的展現狀況
3.修改配置文件
此次須要修改2個配置文件,一個是appr-law-items-service.jar中的application.yml,一個是appr-law-regulation-service中的application.yml
 
修改配置文件,利用的sed命令
能夠在Pre Steps中添加「執行shell」
rm -f ${WORKSPACE}/apr-aw-api-gateway/target/*.jar 
rm -f ${WORKSPACE}/appr-law-items-service/target/*.jar 
rm -f ${WORKSPACE}/appr-law-registry-eureka/target/*.jar 
rm -f ${WORKSPACE}/appr-law-regulation-service/target/*.jar 
sed -r -i 's#192.xxx:3306/law_item#192.1xxx:3306/law_item#g' ${WORKSPACE}/appr-law-items-service/src/main/resources/application.yml 
sed -r -i 's#password: minstone#password: 123456#g' ${WORKSPACE}/appr-law-items-service/src/main/resources/application.yml 
sed -r -i 's#192.xxx:3306/law_item#192.xxx:3306/law_item#g' ${WORKSPACE}/appr-law-regulation-service/src/main/resources/application.yml 
sed -r -i 's#password: minstone#password: 123456#g' ${WORKSPACE}/appr-law-regulation-service/src/main/resources/application.yml

這裏的關鍵在於,如何找到application.yml文件的位置(注意是打包前這個文件的路徑)
開始我找的是 「 appr-law-items-service / target / classes /"下的application.yml

 

後來發現不對,改這個文件沒有效果(這個是打包後的文件了)
後來又找到 appr-law-items-service / src / main / resources /的application.yml
這個是源碼中的配置文件,修改這個文件就會生效
改動位置以下
通過上述配置就達到了打包前修改配置文件了目的(也能夠下載打包好的jar文件,解壓看看配置文件是否修改爲功)
 
4.利用send build artifacts over ssh 插件配置遠程部署
jenkins安裝在154服務器,如今須要把打好的程序包傳輸到133服務器,並在133服務器進行遠程部署
 
在構建後操做中添加send build artifacts over ssh 插件

Transfer Set Source files:須要上傳的文件(相對於工做區的路徑。看後面的配置能夠填寫多個,默認用,分隔)(直接到工做空間中找到這個文件,拷貝目錄便可)git

Remote directory:遠程目錄
Exec command:把你要執行的命令寫在裏面
高級:
Flatten files:只上傳文件,不建立目錄(除了遠程目錄)
 
 
最終構建完成後,打開133服務器,切換到ZFSXK目錄,查看,以下
顯示傳輸過來的4個jar包,且執行了start.sh文件
相關文章
相關標籤/搜索