jenkins自动化部署-服务端注意事项

0、jenkinsfile涉及步骤
代码更新(从gogs拉取最新提交代码)
构建代码(执行mvn clean compile命令)
打包服务(执行mvn package, 对于多个jar包需要特别处理)
创建镜像(构建docker镜像)
推送镜像(发布镜像到DockerRegistry)
部署环境(在指定环境拉取最新镜像并运行)
1、对于同一个DockerRegistry中,一个项目有两个部署环境如何构建

内网部署两套环境(开发环境及测试环境)且都使用自动化部署的情况下,需要注意推送镜像的镜像名要做区分。
保证同一库里面的docker镜像不会被覆盖。

2、执行过程报错排查
  • 本地构建代码正常但在构建环境上失败,请检查检查环境的maven库对应包版本是否一致、maven编译插件指定的jdk版本是否过低等,并确保该环境能访问到公司maven私服。

  • 部署环境失败,目标服务机器是否能够正常访问到DockerRegistry并成功拉取镜像。

3、多个子模块如何构建

项目中有多个子模块时,根目录pom文件将各个模块关联,保证在根目录下执行mvn install能对各个模块完成打包,降低实现复杂度。

具体例子(IDEA下):

需要maven对两个子模块进行打包,并对两个jar进行docker镜像构建。
主项目下面的pom文件, 使用modules关联两个子模块;
在两个子模块下分别添加Dockerfile文件;
指定‘打包服务’步骤后,从各个子模块target中复制jar至Dockerfile平级目录中;
创建镜像步骤对,分别对两个jar创建镜像,并分别上传至DockerRegistry。

4、pom文件需要添加maven-compiler-plugin插件

指定maven编译期间源码的开发版本及编译版本,与构建环境保持一致。

5、添加spring-boot-starter-actuator依赖

pom文件添加添加spring-boot-starter-actuator依赖。
spring-boot-starter-actuator_这个库让我们可以访问应用的很多信息,包括:/env、/info、/metrics、/health等。
其中health接口可以查看应用的健康状态。可以进行扩展将磁盘检测和数据库检测结果显示。


  org.springframework.boot
  spring-boot-starter-actuator

你可能感兴趣的:(jenkins自动化部署-服务端注意事项)