前言:
目的简言之,就是通过Jenkins工具来持续集成项目,简化部署项目操作。一句话概括,却花费很长时间....一路踩坑,火花带闪电。。。。
关于Jenkins的安装,这里不再赘述 ,网上很多,也可以 点...击
jenkins 插件依赖包 本地下载地址:https://updates.jenkins-ci.org/download/plugins/?C=N;O=D
项目目录 类似如下:
project-parent
△common ——工具类项目
△moduleA
△moduleB
pom.xml
关于jenkins部署父子工程项目,看到网上有两种方式,因为所有的jar包依赖都在父pom。第一种:先部署父工程,然后再部署下面的子工程。第二种是Maven有命令可以直接部署子项目,命令如下:
clean install -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true -U -pl moduleA -am
# moduleA 这里替换你的子模块名称
# -am 是将当前项目依赖的模块也打包
问题1: ——构建父工程项目
这里报的错误,提示将构建的war/jar部署到容器异常,就是构建项目配置时, 选择 构建后的操作的问题,我这里配置的是父工程,不需要构建后的操作,删掉即可 如图:
问题2:
这个问题是最费解的,提示很清晰,就是springboot 配置文件未加载或者配置错误引起的,我的配置文件是yml格式的,这里面容易出现格式错误,可能有些朋友就是新项目pom文件引入了mybatis相关依赖,但是并没有在配置文件中配置数据源。但是我yml是没有配置错误的,而且本地可以启动,接口可以测通,百度有一个方法是在启动类添加如下:exclude = DataSourceAutoConfiguration.class,我这里添加后依然报错!!!
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
问题3:如果你项目本地可以跑起来,打成jar执行启动报错,这样做,先install被依赖的项目,也就是common,在package 需要打jar包的项目。如果还不行,先install你的父工程,然后重复上面。这里使用 idea右侧的maven命令如图:
我这里贴一下父子工程项目的pom文件,可以参考下:
project——parent: 这里主要看 spring-boot-maven-plugin 插件
# 父工程 打成war包
<packaging>pom</packaging>
<build>
<plugins>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 如果没有该项配置,devtools不会起作用,即应用不会restart -->
<fork>true</fork>
<addResources>true</addResources>
<!--将本地jar包含到war中-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</build>
moduleA——被依赖的项目工程要这么设置 :
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
参考自:
https://blog.51cto.com/wangguangshuo/2419823
https://blog.csdn.net/y_hai_yang/article/details/81004451
https://blog.csdn.net/guduyishuai/article/details/60968728
pom文件配置可参考该篇博客:https://blog.csdn.net/DamonREN/article/details/85091900