项目使用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 从而报端口冲突的问题