一谴忧、前言#
在實際項目開發(fā)中,Jenkins服務器與系統(tǒng)服務并非在同一臺服務器上部署角虫,那Jenkins如何將服務自動構建到對應的服務器上沾谓?本文就此來展開。
二戳鹅、系統(tǒng)環(huán)境#
- Jenkins2.32.2
- Maven3.3.9
- Java1.7
- Git版本控制
- 服務器環(huán)境:Jenkins部署192.168.0.1 遠程服務器地址:192.168.0.2
實現(xiàn)的效果:從Git服務器定時下載變動代碼均驶,自動構建并上傳到遠程服務器并啟動服務
三、安裝Publish Over SSH插件#
Jenkins服務器需通過SSH登陸遠程服務器枫虏,則安裝Publish Over SSH插件妇穴,具體安裝過程可以參看官方文檔:https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
安裝完成以后,在系統(tǒng)管理-插件管理隶债,可以看到如下內(nèi)容:
四腾它、新建構建任務Job#
General 輸入Job名稱以及描述
源碼管理 填寫源碼所在服務器地址,可以是SVN也可以是GIT死讹,我這里是在碼云服務器上
構建觸發(fā)器 定時從Git服務器拉取更新代碼進行構建瞒滴,可根據(jù)實際需要進行設置
構建環(huán)境 勾選“Send files or execute commands over SSH after the build runs”,設置SSH Publishers赞警,選擇構建目標服務器妓忍,并填寫Source files(要拷貝的文件)、Remove prefix(在目標機器上去掉前綴路徑)愧旦、Remote directory(遠程服務器發(fā)布目錄)世剖、以及Exec command(需執(zhí)行的Shell腳本)
如果運行的是后臺服務,Jenkins默認是不支持打開后臺服務的忘瓦,因此要設置export BUILD_ID=dontKillMe來支持啟動后臺服務
構建 選擇Maven構建
點擊完成搁廓,一個遠程服務構建就配置OK了引颈,下面就可以啟動了。
六境蜕、啟動Job#
點擊立即構建蝙场,即可啟動一次構建,查看Console Output可以查看到構建日志
輸出Finished SUCCESS 粱年,構建成功售滤。打開網(wǎng)址可以正常訪問遠程服務,我這里的遠程服務是Springboot搭建的服務台诗,因此無需使用Web容器完箩,如果需要使用Web容器,比如Tomcat拉队,那么在構建環(huán)境或者構建中填寫Shell命令弊知,將構建好的war包復制到Tomcat的webapp下,并啟動Tomcat服務粱快。
注意:這里在啟動的時候秩彤,會遇到問題,比如權限問題事哭,Java的環(huán)境問題等漫雷,權限問題修改對應文件的權限設置即可,Java環(huán)境的問題通過修改.bash_profile文件來解決鳍咱,在.bash_profile文件中配置Java環(huán)境變量即可解決問題