jenkins安装Publish Over SSH

jenkins没有send files or execute commands over ssh 选项
配置双机信任
http://www.cnblogs.com/mchina/archive/2013/03/15/2956017.html
参考文章
配置publish over ssh
http://blog.csdn.net/houyefeng/article/details/51027885
配置jenkins的持续脚本shell
http://www.thinksaas.cn/group/topic/378471/

远程部署javaEE项目到目标机
安装publish Over ssh中找到
系统管理->插件管理->可选插件->publish Over ssh -> 直接安装

在update center中可以看见安装的进度

配置与远程机器的秘钥和IP地址
系统管理->系统设置->publish over ssh
这里写图片描述
配置归档文件,
对应的jenkins服务器的路径/home/don/.jenkins/workspace/finance-ant-loan/target
存放打包出来的包
这里写图片描述
配置远程执行脚本,
这里写图片描述
配置远程主机,
这里写图片描述
source files: 之前配置的归档文件的文件
在jenkins打包服务器上面的绝对路径是:/home/don/.jenkins/workspace/finance-ant-loan/target
因为这是jar存放的位置,因为配置的归档文件位置。。
remove prefix: 这个是当你上传到目标服务器时,需要移除jar包之前的路径。
在jenkins打包服务器的路径是:/home/don/.jenkins/workspace/finance-ant-loan/target
remote directory:这是远程服务器(不是jenkins配置机器的)路径,根据在主机配置时的路径。./home/app
当远程上传的时候。不要加绝对路径。除非你的主机配置的是/路径

#!/bin/bash
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_65/bin/java
date=`date "+%Y-%m-%d_%H:%M:%S"`
tomcat_pid=`lsof -n -P -t -i:8888`
[ -n "$tomcat_pid" ] && kill -9 $tomcat_pid

cd /backup
#touch ss
mv Vcooline.war Vcooline.war.$date

scp -P 64906 jenkins@129.12.1.123:/var/lib/jenkins/jobs/vcooline/workspace/target/Vcooline.war /backup

rm -rf  /opt/apache-tomcat-8.0.28/webapps/Vcooline.war
rm -rf /opt/apache-tomcat-8.0.28/webapps/Vcooline
pwd
cp Vcooline.war /opt/apache-tomcat-8.0.28/webapps/

#sleep 10

cd /opt/apache-tomcat-8.0.28/bin/
pwd
 ./startup.sh

基于tomcat网页的发布的shell脚本

#!/bin/bash
echo "******************************************************************"
    echo "**************************************"
export JAVA_HOME=/data/jdk1.7.0_80/
TOMCAT_PATH=/data/tomcat-7.0.73-jenkins
DATE=`date '+%Y-%m-%d_%H:%M:%S'`
#Stop tomcat
cd $TOMCAT_PATH
sh bin/shutdown.sh

sleep 10

#check backup directory
if ! [ -d /data/backup ]; then
mkdir -p /data/backup
fi

#backup rrmj-doc-web
if [ -d $TOMCAT_PATH/webapps/ROOT ]; then
    mv webapps/ROOT.war /data/backup/ROOT.war_$DATE
    rm -rf webapps/ROOT
fi

sleep 3
sh bin/startup.sh

自动化构建脚本,可以消除在服务器上面的脚本:配置在 exec command

DATE=`date +%Y%m%d_%H:%M`
SERVICE_NAME=finance-ant-loan
SERVICE_DIR=~/jar/finance-ant-loan
FILE_TYPE=jar
JAVA=~/jdk1.8.0_91/bin/java
BAK_DIR=~/jar/finance-ant-loan/backup
PID=`ps -ef |grep $SERVICE_NAME.$FILE_TYPE |grep -v grep |awk '{print $2}'`
if [ -z $PID ];then
    echo "===the initial service is null, and it will be started now!==="
cp -rf  $SERVICE_DIR/$SERVICE_NAME\.$FILE_TYPE $BAK_DIR/$SERVICE_NAME\.$FILE_TYPE\.$DATE
find $BAK_DIR  -type f -mtime +3 -exec rm -rf {} \;
    echo "backup ok"

nohup $JAVA -Xms64M -Xmx128M -Duser.timezone=\"GMT+08\" -Duser.language=\"zh\" -Duser.region=\"CN\" -Dspring.profiles.active=test -jar $SERVICE_DIR/$SERVICE_NAME\.$FILE_TYPE >> $SERVICE_DIR/nohup\.out 2>&1 &
    echo "===service started successful!==="
else
       /bin/kill -9 $PID

cp -rf  $SERVICE_DIR/$SERVICE_NAME\.$FILE_TYPE $BAK_DIR/$SERVICE_NAME\.$FILE_TYPE\.$DATE

find $BAK_DIR  -type f -mtime +3 -exec rm -rf {} \;
echo "====backup ok===" 
nohup $JAVA -Xms64M -Xmx128M -Duser.timezone=\"GMT+08\" -Duser.language=\"zh\" -Duser.region=\"CN\" -Dspring.profiles.active=test -jar $SERVICE_DIR/$SERVICE_NAME\.$FILE_TYPE >> $SERVICE_DIR/nohup\.out 2>&1 &

echo "===service restarted successful!==="
fi
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村长在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值