1. 程式人生 > >publish over ssh 實現 Jenkins 遠端部署 / jenkins 遠端執行shell 一鍵遠端釋出 tomcat / jenkins分別釋出多個專案到多個遠端主機

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怎麼登陸,請參考

http://blog.csdn.net/flyingshuai/article/details/72897692
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模組

       點選“增加”

      

    點選增加後,

    

配置“高階”


------------------------------------------------------------------------------------------------------

二、配置需要部署的專案

      檢視過程中最重要的一步是選擇你要部署到遠端主機的名字:如下圖