使用jenkins的SSH Publishers遠程執行


使用jenkins的SSH Publishers遠程執行

配置 SSH Servers

如圖,系統管理->系統設置->SSH Servers
點擊
往下翻到:


遠程腳本功能說明

本次遠程腳本需要實現:
a.將WORKERSPACE下面的包傳到遠程服務器上
b.備份包
c.更新包
d.kill掉舊得進程
e.啟動進程

具體操作:

  1. 添加git倉庫登錄的賬戶



  2. 配置git倉庫地址:
    創建一個自由風格的項目,給項目配置:

  3. 配置構建命令:

  4. 配置遠程機器:

    在Exec command中配置需要在遠程機器上執行的腳本
    這里腳本最好是在linux機器上編寫好再復制過來。直接在jenkins界面上編寫容易出現中文字符的空格導致執行失敗且不會有報錯提示

#/bin/sh

#jar包名稱
JAR_NAME=voneDAO-file-service.jar
#內存參數大小
JVM_OPS="-Xmx256m -Xms256m"
#發布的環境
#ENV="--spring.profiles.active=test"
ENV='--spring.profiles.active=test --spring.cloud.consul.host=10.10.3.88'
#日志路徑
LOG_HOME='/data/vonedao/log'
##項目日志名稱
LOG_NAME='file'
#新包存放路徑
UPDATE_JAR='/data/vonedao/jar'
#項目路徑
JAR_HOME='/data/vonedao'
#包備份路徑
BAK_HOME='/data/vonedao/bak'



#下面參數順序不需要變動
sh -x /data/vonedao/jar.sh ${JAR_NAME},${ENV},${LOG_HOME},${UPDATE_JAR},${JAR_HOME},${BAK_HOME},${LOG_NAME},${JVM_OPS},${BUILD_ID}

編寫在服務器10.10.3.88上的/data/vonedao/jar.sh:

#/bin/sh

string="$*"
JAR_NAME=`echo $string | awk -F ',' '{print $1}'`
ENV=`echo $string | awk -F ',' '{print $2}'`
LOG_HOME=`echo $string | awk -F ',' '{print $3}'`
UPDATE_JAR=`echo $string | awk -F ',' '{print $4}'`
JAR_HOME=`echo $string | awk -F ',' '{print $5}'`
BAK_HOME=`echo $string | awk -F ',' '{print $6}'`
NAME=`echo $string | awk -F ',' '{print $7}'`
JVM_OPS=`echo $string | awk -F ',' '{print $8}'`
BUILD_ID=`echo $string | awk -F ',' '{print $9}'`


PID=`pgrep -f "java*.*${JAR_NAME}"`

if [ -f "${JAR_HOME}/${JAR_NAME}" ];then
cp ${JAR_HOME}/${JAR_NAME} ${BAK_HOME}/${JAR_NAME}_${BUILD_ID}
fi

cp ${UPDATE_JAR}/${JAR_NAME}  ${JAR_HOME}  -rf

if [ -n "$PID" ]; then
    kill -9 ${PID}
fi

cd ${JAR_HOME}/
nohup /data/jdk/bin/java -jar ${JVM_OPS} ./${JAR_NAME} ${ENV} >${LOG_HOME}/${NAME}.log 2>&1 &

保存后,構建:


去服務器10.10.3.88上查看:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM