之前的java项目打出来的是war包,通过插件”Deploy to container”部署到tomcat下,近期项目组使用到spring boot项目,打出来的是jar包,需要远程发布,网上找了下,基本上都是通过”Publish Over SSH”插件,将jar包拷贝到远程服务器上,然后通过执行shell脚本启动jar项目,这里记录一下过程。
安装 Publish Over SSH 插件
Manage Jenkins –>Manage Plugins–>可选插件–>Publish Over SSH–>直接安装
添加Linux主机
Manage Jenkins –>Configure System –>Publish Over SSH
这这里我们需要设置远程主机相关信息,如主机名,用户,密码,远程主机目录;高级选项选项中,我们可以选择key和密码两种方式访问远程linux主机,还可以设置跳转机
构建项目
构建一个maven项目,其他信息和之前的一样,配置好svn地址,相关用户获取代码。
Build阶段参数设置为:-e clean package -Dmaven.test.skip=true
Source Files:需要发布的jar包位置,需要写相对(当前项目目录)路径;如:当前项目名称是monitor-cloud,jar包的位置是/var/lib/jenkins/workspace/monitor-cloud/monitor-gateway/target/monitor-gateway.jar,在Source Files填写 monitor-gateway/target/monitor-gateway.jar即可
Remove prefix:表示需要移除的目录,比如这里填写monitor-gateway/target,则表示发布时,只把monitor-gateway.jar.jar发布到远程linux,而不包含monitor-gateway/target目录结构
Remote directory:表示需要把编译好的war包发布到远程linux的哪个目录下 (我刚才在全局属性里设置了,这里就留空了)
Exec command:需要执行的shell命令,shell命令在远程linux服务器上.
1 | echo "deploy monitor-gateway.jar" |