jenkins没有send files or execute commands over ssh 选项
配置双机信任
/mchina/archive//03/15/2956017.html
参考文章
配置publish over ssh
/houyefeng/article/details/51027885
配置jenkins的持续脚本shell
/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/bashexport JAVA_HOME=/usr/local/jdk/jdk1.8.0_65/bin/javadate=`date "+%Y-%m-%d_%H:%M:%S"`tomcat_pid=`lsof -n -P -t -i:8888`[ -n "$tomcat_pid" ] && kill -9 $tomcat_pidcd /backup#touch ssmv Vcooline.war Vcooline.war.$datescp -P 64906 jenkins@129.12.1.123:/var/lib/jenkins/jobs/vcooline/workspace/target/Vcooline.war /backuprm -rf /opt/apache-tomcat-8.0.28/webapps/Vcooline.warrm -rf /opt/apache-tomcat-8.0.28/webapps/Vcoolinepwdcp Vcooline.war /opt/apache-tomcat-8.0.28/webapps/#sleep 10cd /opt/apache-tomcat-8.0.28/bin/pwd./startup.sh
基于tomcat网页的发布的shell脚本
#!/bin/bashecho "******************************************************************"echo "**************************************"export JAVA_HOME=/data/jdk1.7.0_80/TOMCAT_PATH=/data/tomcat-7.0.73-jenkinsDATE=`date '+%Y-%m-%d_%H:%M:%S'`#Stop tomcatcd $TOMCAT_PATHsh bin/shutdown.shsleep 10#check backup directoryif ! [ -d /data/backup ]; thenmkdir -p /data/backupfi#backup rrmj-doc-webif [ -d $TOMCAT_PATH/webapps/ROOT ]; thenmv webapps/ROOT.war /data/backup/ROOT.war_$DATErm -rf webapps/ROOTfisleep 3sh bin/startup.sh
自动化构建脚本,可以消除在服务器上面的脚本:配置在 exec command
DATE=`date +%Y%m%d_%H:%M`SERVICE_NAME=finance-ant-loanSERVICE_DIR=~/jar/finance-ant-loanFILE_TYPE=jarJAVA=~/jdk1.8.0_91/bin/javaBAK_DIR=~/jar/finance-ant-loan/backupPID=`ps -ef |grep $SERVICE_NAME.$FILE_TYPE |grep -v grep |awk '{print $2}'`if [ -z $PID ];thenecho "===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\.$DATEfind $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 $PIDcp -rf $SERVICE_DIR/$SERVICE_NAME\.$FILE_TYPE $BAK_DIR/$SERVICE_NAME\.$FILE_TYPE\.$DATEfind $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