项目使用maven管理,希望完全实现自动化,定时编译/打包/上传/重启,maven没找到ftp上传/调用远程脚本功能

google了一下Publish Over SSH插件可以实现,记录一下


1. Jenkins安装插件Publish Over SSH


2. 设置远程服务器

系统设置->Publish over SSH中 新建server:

Name: 名称,项目配置引用这个名字

Hostname:ip地址

Username:用户名ftp 及执行脚本的用户名

Remote Directory:上传文件的目录

点击高级:输入密码


3. 项目增加构建后操作:send build artifacts over ssh

这里添加了两个步骤:上传文件 执行重启脚本

Source files:target/a.war

Remove prefix:target

打包文件所在目录 及上传后去掉的前缀(否则remote会建target目录)


Exec command:远程脚本

重启设计shutdown和start,之间最好加上sleep 10,我的remote是jboss,远程ssh执行没问题,直接调的话会出现没有完全shutdown就start 从而报端口冲突的问题