2.2 自动化发布到远程服务器并运行

一、安装插件

  1. Publish Over SSH:可以将文件传输到远程服务器中

二、配置

  1. 在项目构建后操作中,添加操作Send files or execute commands over SSH

  2. 可以在这里添加远程服务器,也可以在全局配置中添加,在这里进行选择

  3. 最后在配置一个执行命令

三、注意

  1. 在高级配置中有传输超时配置,防止因为文件或命令问题造成超时断连

四、重新发布前干掉目标

  1. 可以在Pre Steps中加入配置

  2. 执行shell脚本:./名.sh(文件与脚本文件起码有两个以上)

    # shell脚本
    # 清理目录
    rm -rf 
    
    # 获取传入参数
    name = $1
    
    # 停止进程
    # 获取pid(筛选出查询的内容,过滤掉grep执行的结果,取出第二个字符串)
    pid = `ps -ef | grep $name | grep -v grep | awk '{printf $2}'`
    
    # 判断空值(注意空格)
    if [ -z $pid ];
    	then
    		echo "$name 未启动"
    	else
    		#echo $pid
    		kill -2 $pid
    		echo "$name 正在关闭..."
    
    # 校验是否真正停止程序
    checkPid = `ps -ef | grep -w $pid | grep java`
    if [ -z $pid ];
    	then
    		echo "已停止"
    	else
    		echo "停止失败"
    
    # 只要有判断就要有fi结束
    fi

    五、通过构建触发器自动触发构建

    1. 安装插件Build Authorization Token,解决需要登录的问题

    2. git仓库可以设置触发器请求jenkins进行自动化构建

    3. 在构建触发器中勾选触发远程构建 (例如,使用脚本)编写一个token

    4. 在git仓库的设置中配置webhooks,填写网址+token,同时设置触发来源

Last updated