上一章节部署了jenkdis持续集成环境,并测试了用git从gogs代码仓库上拉取代码到本地服务器上进行maven打包,然后再发布war包到远程tomcat服务器上进行部署,
那么这一节开始测试用git从gogs代码仓库上拉取代码到本地服务器上进行maven打包,然后再发布jar包到远程centos服务器上进行部署。
一、创建springboot-test2工程
1、工程结果图:
2、application.properties
server.port= 2001
spring.application.name=test22
3、pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.9.RELEASE</version>
</dependency>
</dependencies>
<!--打包jar-->
<build>
<finalName>test2</finalName>
<plugins>
<!--spring-boot-maven-plugin-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.2</version>
<!--解决打包出来的jar文件中没有主清单属性问题-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
二、添加ssh server,也就是jar包的部署服务器
三、配置Post Steps
1、配置Post Steps
如果没有出现下面的选择项,安装插件:Publish Over SSH 即可。
2、选择上面预先添加好的ssh服务器
3、配置文件与脚本
#解决jar无法启动
source /etc/profile
#进入到jar路径
cd /usr/java
#找到jar包进行删除
ps -ef|grep test2.jar|grep -v grep|awk ‘{print $2}’|xargs kill -s 9
#解决jar无法启动
BUILD_ID=dontKillMe
#后台执行jar包
nohup java -jar test2.jar &
#解决jar无法启动
sleep 10
四、测试打包与发布
1、点击打包
2、查看输出日志,jar包已经成功打出来了:
如果出现执行超时错误(实际上会成功执行完部署完jar的,只是jenkins无法获得最后结果),则在高级配置里勾选上Exec in pty即可:
如下,默认超时时间是120000毫秒(120 秒),可以勾选上Exec in pty
再将执行结果不出现超时错误了,结果如下: