簡體   English   中英

使用Jenkins和maven將WAR文件發布到Artifactory

[英]Using Jenkins and maven to publish a WAR file to Artifactory

我試圖在Jenkins中配置以下工作流模式:

  1. 構建WAR文件並發布到Artifactory
  2. 將WAR文件從Artifactory部署到DEV並發布到Artifactory Repo for Dev
  3. 將WAR文件從DEV部署到QA並發布到Artifactory Repo以進行QA
  4. {QA to Regression等}

我似乎錯過了一些東西。 應用程序的組件(jar文件等)似乎在目標版本/快照目錄中很好地部署到Artifactory。 但是,盡管Jenkins清楚地識別出工件已成功構建,但最終的WAR工件似乎並未存儲在Artifactory中。

我正在使用標准目標:干凈安裝。 我也嘗試過(沒有變化):干凈安裝重新包裝

我安裝了Jenkins的標准Artifactory插件。

我已經檢查了第一個Jenkins作業的以下配置來構建項目並將其發布到Artifactory:

預建和建設

  • 丟棄舊版本(保留5)
  • 復制工件的權限
  • git(具有正常工作的必要憑據)
  • 啟用Artifactory Release Management(所有模塊的一個版本)
  • Build使用POM和“干凈”和“安裝”選項。

POST-BUILD

  • 存檔工件(** / * .war)
  • 將工件部署到Artifactory(發布和快照目錄存在並且似乎工作正常,並且在單擊刷新時從Artifactory服務器正確加載)
  • 捕獲和發布構建信息
  • 包含環境變量(僅配置默認值)

還包括可編輯的電子郵件通知構建后步驟。

我可以使用這些相同的選項,他們將成功地將最終的WAR文件部署到Tomcat實例而不會出現問題。 Jenkins還根據配置保留了WAR文件。 但Artifactory似乎存儲組件而不是最終的WAR文件。

我一直在玩配置選項並且空白時間過長。 任何和所有的幫助表示贊賞。

編輯:這是構建war文件時用於“干凈安裝”目標的POM文件的snippit。

<build>
    <defaultGoal>clean install</defaultGoal>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18.1</version>
            <configuration>
                <includes>
                    <include>**/*Tests.java</include>
                    <include>**/*Test.java</include>
                    <include>**/Test*.java</include>
                </includes>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven.compiler.plugin.version}</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>${maven.war.plugin.version}</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
                <archive>
                    <addMavenDescriptor>false</addMavenDescriptor>
                    <manifestEntries>
                        <Implementation-Version>${project.version}</Implementation-Version>
                        <Implementation-Revision>${git.revision}</Implementation-Revision>
                        <X-Git-Commits-Count>${git.commitsCount}</X-Git-Commits-Count>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <configuration>
                <autoVersionSubmodules>true</autoVersionSubmodules>
            </configuration>
        </plugin>
    </plugins>
</build>

似乎War文件是Maven項目的第二個人工制品。

你能看一看並告訴我們它是否能解決你的問題嗎? Maven將輔助文件部署到存儲庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM