publish over ssh 實現 Jenkins 遠端部署 / jenkins 遠端執行shell 一鍵遠端釋出 tomcat / jenkins分別釋出多個專案到多個遠端主機
1. 以下是本地Jenkins生成war包直接釋出本機。參照了(jenkins 遠端執行shell 一鍵遠端釋出 tomcat)
BUILD_ID=DONTKILLME
(加這個原因是因為沒加之前用command startup tomcat一直啟動失敗而shutdown卻是成功的 原因是因為jenkins啟動後的程序會被kill掉所以要加這句,才能啟動成功)
同事給的一段話:關閉tomcat
"kill -9 `ps -ef|grep " + appRelationship.getPath() + "/conf/logging.properties"+ "|awk '{print $2}'`"
=======================================================================================================================
2. 以下是本地Jenkins生成war包直接釋出到遠端主機。參照了(jenkins分別釋出多個專案到多個遠端主機)
2.1系統配置Publish over SSH
2.2以下是專案的構建後操作
======================================================================================
以下是網上參照的部落格文章:
publish over ssh 實現 Jenkins 遠端部署
(http://blog.csdn.net/flyingshuai/article/details/72898665)
Jenkins遠端部署,一開始沒有任何頭緒,想了很多方案. 因為兩臺機器都是windows系統,所以想到publish over cifs, 但是這個網上資料太少,貌似只能內網使用。又想到了Jenkins 分散式構建,但是Jenkins構建的程式碼和產物最後自動拷貝到主節點。而遠端機器其實是客戶方的機器,所以這個分散式構建並不適用。最後還是選定publish over ssh來實現遠端部署。
請注意:在進行遠端部署操作前,先要確保客戶機能ssh 登入到遠端機器。如果不知道SSH怎麼登陸,請參考
1. 安裝publish over ssh 外掛,安裝很簡單,在此不表。
2. 在Jenkins系統設定裡找到Publish over SSH模組
3. 使用者名稱/密碼方式登入的,系統設定裡設定如下:
(下面的這張圖是我自己的配置)
4. 如果是證書登入的,系統設定裡設定如下:
5. Job設定,點選增加構建後操作步驟,選擇send build artifacts over ssh, 設定如下:
6. 檔案上傳到遠端伺服器後,還有一些後續操作,比如,替換資料庫配置檔案。可以把bat命令寫到一個批處理檔案中,存到伺服器上。Exec command填寫批處理檔案的絕對路徑。如上圖所示。
關於bat指令碼:
如果每次都需要替換同樣的檔案,用copy /y 是無條件覆蓋,不會詢問。而xcopy可以實現批量拷貝檔案和資料夾。如果檔案較多可用此命令
注意指令碼執行失敗,構建也會顯示藍色成功圖示,所以一定要開啟控制檯輸出,看是否真的成功。
===============================================================================
jenkins 遠端執行shell 一鍵部署
下載jenkins
Publish over SSH外掛
在系統配置中建立
點高階可以儲存密碼
新建jobs
send build artifacts over ssh 外掛
Exec command
export JAVA_HOME=/usr/local/jdk
cd /opt/apache-tomcat-7.0.63/bin/
./deploy.sh
deploy.sh
#author:sunlihuo
#desc:在jenkins構建完成後,ROOT.war已經是最新的#重啟tomcat
bash /opt/apache-tomcat-7.0.63/bin/catalina.sh stop#確保程序正常結束
sleep 2 #具體時間就看你得webapp在呼叫shutdown.sh後多久後處於僵死狀態
ps -ef | grep ‘tomcat’ | grep -v grep| awk ‘{print $2}’ | xargs kill -9#刪除webapps下的weixin工程
rm -rf /opt/apache-tomcat-7.0.63/webapps/ROOT#備份
#mv /opt/apache-tomcat-7.0.63/webapps/ROOT.war /opt/apache-tomcat-7.0.63/bak/ROOT.war.date +%Y%m%d%H%M%S
.bak#重啟並列印日誌
nohup bash /opt/apache-tomcat-7.0.63/bin/catalina.sh start & tailf /opt/apache-tomcat-7.0.63/logs/catalina.out
===================================================================================================================
/**
* lihaibo
* 文章內容都是根據自己工作情況實踐得出。
*/
一、配置遠端主機
點選“系統管理”---“系統設定”----找到“Publish over SSH”元件
元件中有個SSH Servers模組
點選“增加”
點選增加後,
配置“高階”
------------------------------------------------------------------------------------------------------
二、配置需要部署的專案
檢視過程中最重要的一步是選擇你要部署到遠端主機的名字:如下圖