天天看点

jenkins使用Publish over SSH发布maven项目Publish over SSH介绍全局配置项目配置

Publish over SSH介绍

Jenkins发布插件,支持通过ssh将文件发送至远端服务器,在远端服务器执行命令,可在maven构建前,构建后执行.

全局配置

位置:Dashboard-configuration-Publish over SSH-SSH Servers

配置远端服务器,支持多个服务器

SSH Server:配置服务器别名,ip,用户名密码等信息,

jenkins使用Publish over SSH发布maven项目Publish over SSH介绍全局配置项目配置

Remote Directory:远端工作目录,拷贝文件会以此目录为工作空间根目录

项目配置

位置:Build新增Send files or execute commands over SSH,增加在maven构建之后.

jenkins使用Publish over SSH发布maven项目Publish over SSH介绍全局配置项目配置

SSH Server-Name:全局配置中配置的远端服务器

点击又下角"Advanced"按钮勾选"Verbose output in console"可将命令执行结果返回至Jenkins便于调试

Source files:需要发送到远端的文件,相对路径,基于当前项目的工作空间

Remove prefix:拷贝至远端需删除的前缀

Remote directory:相对路径远端服务存储的文件目录,基于全局配置中的Remote Directory

Exec command:传输完成之后执行的命令,可进行文件备份,服务重启等操作

下面的命令是备份文件,重启服务,重启服务的脚本在服务器上,如有需要也可以在此处完成.

#!/bin/bash

baseDir="/home/workspace/xxxProject/"

deployDir=$baseDir"lib/"

historyDir=$baseDir"history/"

binDir=$baseDir"bin/"

jarName="xxxProject.jar"

jarName_prefix="xxxProject"

jarName_suffix=".jar"

dateStr=`date +%s`

echo $dateStr

copyFileName=$jarName_prefix$dateStr$jarName_suffix

echo $copyFileName

cp -i $deployDir$jarName $historyDir$copyFileName

echo "Backup complete"

mv -f $historyDir$jarName $deployDir$jarName

cd $binDir

./xxxProject restart