jenkins使用Publish over SSH發佈maven項目

Publish over SSH介紹

Jenkins發佈插件,支持通過ssh將文件發送至遠端服務器,在遠端服務器執行命令,可在maven構建前,構建後執行.

 

全局配置

位置:Dashboard-configuration-Publish over SSH-SSH Servers

配置遠端服務器,支持多個服務器

SSH Server:配置服務器別名,ip,用戶名密碼等信息,

 

Remote Directory:遠端工作目錄,拷貝文件會以此目錄爲工作空間根目錄

項目配置

位置:Build新增Send files or execute commands over SSH,增加在maven構建之後.

SSH Server-Name:全局配置中配置的遠端服務器

點擊又下角"Advanced"按鈕勾選"Verbose output in console"可將命令執行結果返回至Jenkins便於調試

Source files:需要發送到遠端的文件,相對路徑,基於當前項目的工作空間

Remove prefix:拷貝至遠端需刪除的前綴

Remote directory:相對路徑遠端服務存儲的文件目錄,基於全局配置中的Remote Directory

Exec command:傳輸完成之後執行的命令,可進行文件備份,服務重啓等操作

下面的命令是備份文件,重啓服務,重啓服務的腳本在服務器上,如有需要也可以在此處完成.

#!/bin/bash
baseDir="/home/workspace/xxxProject/"
deployDir=$baseDir"lib/"
historyDir=$baseDir"history/"
binDir=$baseDir"bin/"

jarName="xxxProject.jar"
jarName_prefix="xxxProject"
jarName_suffix=".jar"

dateStr=`date +%s`
echo $dateStr

copyFileName=$jarName_prefix$dateStr$jarName_suffix
echo $copyFileName

cp -i $deployDir$jarName $historyDir$copyFileName
echo "Backup complete"

mv -f $historyDir$jarName $deployDir$jarName

cd $binDir
./xxxProject restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章