服务器远程发布,发布到远程服务器

# 远程服务器

在系统管理-->系统配置中,最靠下的地方找到Publish over SSH,添加对应的内容信息。如果是用密码登录,要添加的信息有

~~~

Passphrase: 远程服务器登录密码

SSH Servers可以添加多个,各个字段含义

Name:服务器的标识,随便起个名字方便记忆

Hostname:远程服务器IP地址

Username:远程服务器登录用户名,比如root

Remote Directory:远程服务器的目录,后续操作目录都是基于这个目录前缀

~~~

# 配置

其他配置和《部署SpringBoot项目》的基本一致,只有“Post Steps”和“构建后操作”有差别。

## Post Steps

项目构建完成后,可以在这里打印个内容,或者给文件换个目录、修改个名字之类的,也可以什么都不操作。

勾选 Run only if build succeeds or is unstable

内容样例

~~~

#!/bin/sh -l

echo "已经生成了,开始重命名文件"

mv -f /var/lib/jenkins/workspace/testproject/target/testproject-0.0.1-SNAPSHOT.jar /var/lib/jenkins/workspace/testproject/target/testproject.jar

~~~

## 构建后操作

选择Send build artifacts over SSH,各个字段填写:

~~~

Name:选择第一步对应的远程服务器名称

Source files:本地文件和所在目录,如 target/testproject.jar

Remove prefix:Source files的目录,如target/

Remote directory:基于远程服务器目录前缀的下级目录,如 mytest

Exec command:远程服务器上执行的shell,如nohup sh /xxx/xxx/xx/test.sh & sleep 1

点击高级,需要填写的内容有

Pattern separator:保留默认值 [, ]+

Exec timeout (ms):超时时间,传输文件时间较长可以修改如1200000

Exec in pty:需要勾选上

~~~

# 远程服务器脚本

对应上面的目录和文件,/xxx/xxx/xx/test.sh,内容为

~~~

#!/bin/bash

source /etc/profile

cd /xxx/xxx/xxxx/xxxx

echo "Stopping Application xxxx"

pid=`ps -ef | grep testproject.jar | grep -v grep | awk '{print $2}'`

if [ -n "$pid" ]

then

kill -9 $pid

fi

cd /xxx/xxx/xxxx/xxxx

BUILD_ID=dontKillMe nohup java -jar /xxx/xxxx/xxx/testproject.jar &

~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值