暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

进阶篇 使用Jenkins发送程序包到远程服务器

加耀 2018-12-06
1728


要实现jenkins打包发送到远程服务器,此时,需要借助一款名叫Publish Over SSH 的插件,借助此插件,我们可以将在本地使用Jenkins构建好的jar包或者是war包发送到指定服务器的指定目录上,然后运行相应的脚本,以实现分布式项目构建管理持续集成工作。



安装好插件后,我们对插件做一些相关配置。点击 系统管理 ---> 系统设置





在上面的配置信息中,一共涉及到5个配置信息,依次如下:


配置好了后,我们可以点击下方的Test Configuration按钮进行测试连接,当能够正常访问到时,则提示 success,否则会报错。这里可以校验配置信息是否有误。

下面我们再来到项目配置里面,在项目配置里,有一个构建后操作Post Steps,我们在此处选择Send files or execute commands over SSH 安装插件Publish Over SSH 可以看到此项,这里的配置信息如下:



此处配置一共有5处输入项,含义如下:


在其他配置项也都配置完整后,我们可以开始构建工程。比如,我需要向192.168.88.130服务器发送程序包。构建程序。


    

下面是我是用的Shell脚本,目前还有点问题,仅供参考。


#!/bin/bash
       #description: 启动重启server服务
       
#端口号,根据此端口号确定PID
       PORT=8889
       
#启动命令所在目录
       
HOME='/ard/topic/'
       
#根据项目端口号停止项目
       
pid=`netstat -anp|grep $PORT|awk '{printf $7}'|cut -d/ -f1`


       start(){
       if [ -n "$pid" ]; then
       echo "server already start,pid:$pid"
       
return 0
       
fi

       cp -a /var/lib/jenkins/workspace/platform-topic/target/*.jar $HOME
  #
进入命令所在目录  
  cd $HOME
  nohup java -jar $HOME/platform-topic.jar & > $HOME/server.log 2>&1 &   #
启动服务器 把日志输出到HOME目录的server.log文件中   echo "start at port:$PORT"  
}
stop(){
  if [ -z "$pid" ]; then
     echo "not find program on port:$PORT"  
     return 0
  fi
  #
结束程序,使用讯号2,如果不行可以尝试讯号9强制结束  
  kill -9 $pid
  rm -rf $pid
  echo "kill program use signal 2,pid:$pid"  
}
status(){
  if [ -z "$pid" ]; then
     echo "not find program on port:$PORT"  
  else
     echo "program is running,pid:$pid"  
  fi
}
case $1 in
  start)
     start
  ;;
  stop)
     stop
  ;;
  restart)
     $0 stop
     sleep 2
     $0 start
   ;;
  status)
     status
  ;;
  *)
     echo "Usage: {start|stop|status}"  
  ;;
esac
exit 0


2018年12月6日 22:37:39


文章转载自加耀,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论