jenkins打包java maven項目


maven本地配置

maven倉庫配置

修改maven/conf/settings.xml文件,把倉庫配置成本地倉庫

<localRepository>repository</localRepository> 

在maven/conf/settings.xml.文件添加獲取jar包的地址

<mirror> 

   <id>proxied-releases</id>

   <name>Release Mirror</name>

   <url>https://www.test.test/nexus/content/groups/public/</url>

   <mirrorOf>central</mirrorOf>   

</mirror> 

id、name隨意添加,不影響

url值為公司maven私服地址或阿里maven地址

 

Jenkins配置maven

jenkins maven setting.xml文件配置

打開Jenkins設置下的全局工具設置,配置如下,文件路徑為本地 maven setting.xml 文件路徑

 

Name為maven版本,MAVEN_HOME 為maven安裝路徑

 

Jenkins項目任務配置

構建配置

Root POM:拉取項目代碼的 pom.xml 文件
Goals and options:構建所使用的命令 命令解析:clean -PQA -DskipTests package install:清除舊項目后使用配置文件中的QA配置進行打包target下的jar安裝到本地倉庫 clean:clean有兩種 maven clean:maven clean是maven的一個清潔生命周期,目的是刪除build目錄下的構建輸出,體現在文件系統上是刪除了Target目錄所有文件,包括該目錄 project clean:project clean是IDE對已經生成的class文件的刪除操作,體現在文件系統上是只刪除了Target目錄中classes文件夾中所有內容 mvn package -Pqa -DskipTests package :基本命令,進行打包 -Pqa:項目開發需要有多個環境,一般為開發,測試,預發布,正式4個環境,通過maven可以實現按不同環境進行打包部署。也就是dev(開發)、qa(測試)、pre(預發)、生產正式(prod)四個環境,對應的都有各自的配置文件properties。 通過 -P 傳入環境id參數就可以選擇環境,比如傳入 qa,即命令 -Pqa 。會得到 qa.peroperties 配置文件,這是因為在 pom.xml 文件中有這樣的配置

 

 <profiles>
        <!-- 默認 -->
        <profile>
            <id>dev</id>
            <properties>
                <profile.active>dev</profile.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>

        <!-- 質檢 -->
        <profile>
            <id>QA</id>
            <properties>
                <profile.active>QA</profile.active>
            </properties>
        </profile>

        <!-- 生產 -->
        <profile>
            <id>pro</id>
            <properties>
                <profile.active>pro</profile.active>
            </properties>
        </profile>
    </profiles>

 

<build>
    <filters>
           <filter>src/main/resources/env/${env}.properties</filter>
       </filters>
       <resources>  
          <resource>  
              <directory>src/main/resources/</directory>  
              <filtering>true</filtering>  
              <includes>  
                  <include>**/*.properties</include>  
              </includes>  
          </resource> 
       </resources>
 ....
 </build>
其中${env}.properties就是讓我們傳入環境參數qa、dev、prod、pre。

- DskipTests:跳過測試,否則打包過程很慢

 

打包上傳啟動

執行shell

 

jenkins和項目服務在一台服務器上,所以不用跨服務器傳包,都是本地拷貝,推薦這種方式,打包項目賊快

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM