SpringBoot父子工程集成Jenkins部署項目問題合集

前言:

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章