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