上一章节部署了jenkdis持续集成环境,并测试了用git从gogs代码仓库上拉取代码到本地服务器上进行maven打包,然后再发布war包到远程tomcat服务器上进行部署,
那么这一节开始测试用git从gogs代码仓库上拉取代码到本地服务器上进行maven打包,然后再发布jar包到远程centos服务器上进行部署。

一、创建springboot-test2工程

1、工程结果图:

image.png

2、application.properties

  1. server.port= 2001
  2. spring.application.name=test22


3、pom.xml

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. <version>2.3.9.RELEASE</version>
  6. </dependency>
  7. </dependencies>
  8. <!--打包jar-->
  9. <build>
  10. <finalName>test2</finalName>
  11. <plugins>
  12. <!--spring-boot-maven-plugin-->
  13. <plugin>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-maven-plugin</artifactId>
  16. <version>2.4.2</version>
  17. <!--解决打包出来的jar文件中没有主清单属性问题-->
  18. <executions>
  19. <execution>
  20. <goals>
  21. <goal>repackage</goal>
  22. </goals>
  23. </execution>
  24. </executions>
  25. </plugin>
  26. <plugin>
  27. <groupId>org.apache.maven.plugins</groupId>
  28. <artifactId>maven-compiler-plugin</artifactId>
  29. <configuration>
  30. <source>8</source>
  31. <target>8</target>
  32. </configuration>
  33. </plugin>
  34. </plugins>
  35. </build>

二、添加ssh server,也就是jar包的部署服务器

image.png
image.pngimage.png
image.png
image.png

三、配置Post Steps

1、配置Post Steps

如果没有出现下面的选择项,安装插件:Publish Over SSH 即可。
image.png

2、选择上面预先添加好的ssh服务器

image.png

3、配置文件与脚本

image.png
#解决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、点击打包

image.png

2、查看输出日志,jar包已经成功打出来了:

image.png
如果出现执行超时错误(实际上会成功执行完部署完jar的,只是jenkins无法获得最后结果),则在高级配置里勾选上Exec in pty即可:
image.png
如下,默认超时时间是120000毫秒(120 秒),可以勾选上Exec in pty
image.png
再将执行结果不出现超时错误了,结果如下:
image.png

3、到远程服务器上查看jar包是否有上传:

image.png

4、查看是否有启动jar:

image.png

5、测试接口是否已经通了:

image.png

五、提交新代码,再次打包测试

1、修改接口返回test jar 2

image.png

2、重新打包

image.png

3、测试结果

image.png