jenkins配置SSH远程服务器连接

之前用jenkins做了一个自动发布测试,配置任务的Post Steps时,选择的是执行shell命令。如下图:

 

这是在本192.168.26.233服务器上测试的,此服务器上运行jenkins,tomcat。现在换另一种方式,把jenkins打好的包远程发送到另一台服务器上运行。

  第一步:安装pulish Over SSH插件

      在系统管理,插件管理里面搜索Pulish Over SSH插件安装。

 

  第二步:安装好后,在系统设置里面配置Pulish Over SSH选项如下:

 

 

 然后再记录一下任务配置的post Steps配置环节:

 

 

最后,执行此次构建之后,查看是否成功启动jar包

linux查看jar是否正在运行命令:ps -ef|grep thymeleaf-1.0-SNAPSHOT.jar

 

 

以上有个问题:自己根据写的startOrStopJava.sh脚本,在linux服务器上直接运行此脚本没有一点问题。可构建的时候查看任务的Console Output日志打印上面也显示构建成功,可去服务器上查看此xxx.jar包的运行命令却是空的,啊西吧,只能说明我在Exec command这一栏写的运行脚本命令有问题

/usr/local/java/startOrStopJava.sh start  这条脚本命令明明已经执行了,可服务上的jar包就是没运行,啊西吧

可构建日志上明明显示startOrStopJava.sh脚本里面的成功日志也打印出来了,可服务器上就是没有此xxx.jar包的运行,真他妈百思不得其解啊。

解决办法:

  没办法又去百度了一个构建之后启动jar包命令,亲测这回这个是成功了的

  借鉴博客:https://blog.csdn.net/u010175879/article/details/79064387

 最后成功配置图如下:

    SSH的Exec command(执行命令)这一栏配置如下:

source /etc/profile
project=你的应用名
dir=你应用存放的目录
pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $dir$project --spring.profiles.active=dev >/dev/null 2>&1&

 

  

 

 点击构建之后:

 

 服务器上查看此jar包是否已经运行:

 

 浏览器访问成功图,啦啦啦啦啦啦啦啦啦:

 

posted @ 2018-11-13 15:52  下课后我要去放牛  阅读(27668)  评论(0编辑  收藏  举报