前言:
目的簡言之,就是通過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