![](/img/trans.png)
[英]How to deploy an artifact from group of artifacts to jfrog artifactory using jenkins post build action
[英]How to deploy artifacts to Maven Repository (JFrog artifactory) through Jenkins Build Offline?
上下文:我正在嘗試通過Jenkins在Maven項目上進行簡單構建(而不是通過管道作業),該項目安裝在脫機環境(無Internet連接)中。 構建成功進行,我看到HelloMaven.jar已成功部署到JFrog工件,該工件再次脫機安裝。
問題:但是整個Jenkins構建失敗的原因是
“構建步驟:將工件部署到Maven存儲庫將構建結果更改為FAILURE”
Jenkins構建控制台的輸出如下所述:
Started by user admin
Building in workspace C:\Users\dipakrai\.jenkins\workspace\HelloMaven
Updating https://myownlaptop/svn/HelloMavenDemo/HelloMaven at revision '2017-07-13T11:51:44.844 +0530'
Using sole credentials admin/****** (SVN) in realm <https://myownlaptop.com:443> VisualSVN Server
At revision 6
No changes for https://myownlaptop.com/svn/HelloMavenDemo/HelloMaven since the previous build
Parsing POMs
Established TCP socket on 62532
[HelloMaven] $ "C:\Program Files\Java\jdk1.8.0_65/bin/java" -cp "C:\Users\dipakrai\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-agent-1.11.jar;C:\Program Files\Apache Software Foundation\apache-maven-3.0.3\boot\plexus-classworlds-2.4.jar" org.jvnet.hudson.maven3.agent.Maven3Main "C:\Program Files\Apache Software Foundation\apache-maven-3.0.3" C:\Users\dipakrai\.jenkins\war\WEB-INF\lib\remoting-3.7.jar C:\Users\dipakrai\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-1.11.jar C:\Users\dipakrai\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.11.jar 62532
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven: -B -f C:\Users\dipakrai\.jenkins\workspace\HelloMaven\pom.xml deploy
[INFO] Scanning for projects...
[HUDSON] Collecting dependencies info
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building HelloMaven 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- buildnumber-maven-plugin:1.3:create (default) @ HelloMaven ---
[INFO] Executing: cmd.exe /X /C "svn --non-interactive info"
[INFO] Working directory: C:\Users\dipakrai\.jenkins\workspace\HelloMaven
[INFO] Storing buildNumber: null at timestamp: 1499926911471
[INFO] Executing: cmd.exe /X /C "svn --non-interactive info"
[INFO] Working directory: C:\Users\dipakrai\.jenkins\workspace\HelloMaven
[INFO] Storing buildScmBranch: UNKNOWN_BRANCH
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ HelloMaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ HelloMaven ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ HelloMaven ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\dipakrai\.jenkins\workspace\HelloMaven\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ HelloMaven ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.7.2:test (default-test) @ HelloMaven ---
[INFO] No tests to run.
[INFO] Surefire report directory: C:\Users\dipakrai\.jenkins\workspace\HelloMaven\target\surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
There are no tests to run.
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ HelloMaven ---
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ HelloMaven ---
[INFO] Installing C:\Users\dipakrai\.jenkins\workspace\HelloMaven\target\HelloMaven.jar to C:\Users\dipakrai\.m2\repository\net\roseindia\maven\quickstart\HelloMaven\1.0-SNAPSHOT\HelloMaven-1.0-SNAPSHOT.jar
[INFO] Installing C:\Users\dipakrai\.jenkins\workspace\HelloMaven\pom.xml to C:\Users\dipakrai\.m2\repository\net\roseindia\maven\quickstart\HelloMaven\1.0-SNAPSHOT\HelloMaven-1.0-SNAPSHOT.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ HelloMaven ---
Downloading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar (4 KB at 18.4 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.pom
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.pom (4 KB at 8.6 KB/sec)
Downloading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml (784 B at 16.3 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml (298 B at 1.5 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.064s
[INFO] Finished at: Thu Jul 13 11:51:55 IST 2017
[INFO] Final Memory: 15M/247M
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving C:\Users\dipakrai\.jenkins\workspace\HelloMaven\pom.xml to net.roseindia.maven.quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-SNAPSHOT.pom
[JENKINS] Archiving C:\Users\dipakrai\.jenkins\workspace\HelloMaven\target\HelloMaven.jar to net.roseindia.maven.quickstart/HelloMaven/1.0-20170713.062154-1/HelloMaven-1.0-20170713.062154-1.jar
Used promoter class: org.jenkinsci.plugins.artifactpromotion.NexusOSSPromotor
channel stopped
Local repository path: [C:\Users\dipakrai\.jenkins\workspace\HelloMaven\target\local-repo]
Started with promotion
Get Artifact and corresponding POM
Checking if POM already exists in releaserepo
POM doesn't exist in release repo, it will be deployed
Downloading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml
##################################################]
Downloaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml ( at 31.9 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.055434-15.jar
##################################################]
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.055434-15.jar ( at 17.5 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.055434-15.pom
##################################################]
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.055434-15.pom ( at 9.3 KB/sec)
Downloading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml
##################################################]
Downloaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml ( at 7.3 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml
##################################################]
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml ( at 10.5 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml
##################################################]
Uploaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/maven-metadata.xml ( at 2.1 KB/sec)
Skipping deletion of artifact from source repo as requested by user
Maven RedeployPublisher use remote maven settings from : C:\Users\dipakrai/.m2/settings.xml
[INFO] Deployment in http://localhost:8081/artifactory/repo1 (id=ArtifactID,uniqueVersion=true)
Deploying the main artifact HelloMaven-1.0-20170713.062154-1.jar
Downloading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml
Downloaded: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/maven-metadata.xml (787 B at 1.9 KB/sec)
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar
Uploading: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.pom
ERROR: Failed to deploy artifacts: Could not transfer artifact net.roseindia.maven.quickstart:HelloMaven:jar:1.0-20170713.062154-1 from/to ArtifactID (http://localhost:8081/artifactory/repo1): Failed to transfer file: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar. Return code is: 401, ReasonPhrase: Unauthorized.
org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not transfer artifact net.roseindia.maven.quickstart:HelloMaven:jar:1.0-20170713.062154-1 from/to ArtifactID (http://localhost:8081/artifactory/repo1): Failed to transfer file: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar. Return code is: 401, ReasonPhrase: Unauthorized.
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:143)
at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:193)
at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:176)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:735)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:676)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:621)
at hudson.model.Run.execute(Run.java:1760)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:542)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:405)
Caused by: org.eclipse.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not transfer artifact net.roseindia.maven.quickstart:HelloMaven:jar:1.0-20170713.062154-1 from/to ArtifactID (http://localhost:8081/artifactory/repo1): Failed to transfer file: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar. Return code is: 401, ReasonPhrase: Unauthorized.
at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:317)
at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:245)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:420)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:139)
... 11 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact net.roseindia.maven.quickstart:HelloMaven:jar:1.0-20170713.062154-1 from/to ArtifactID (http://localhost:8081/artifactory/repo1): Failed to transfer file: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar. Return code is: 401, ReasonPhrase: Unauthorized.
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.put(BasicRepositoryConnector.java:274)
at org.eclipse.aether.internal.impl.DefaultDeployer.deploy(DefaultDeployer.java:311)
... 14 more
Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file: http://localhost:8081/artifactory/repo1/net/roseindia/maven/quickstart/HelloMaven/1.0-SNAPSHOT/HelloMaven-1.0-20170713.062154-1.jar. Return code is: 401, ReasonPhrase: Unauthorized.
at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:631)
at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:553)
at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:535)
at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:529)
at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:509)
at org.eclipse.aether.transport.wagon.WagonTransporter$PutTaskRunner.run(WagonTransporter.java:644)
at org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:427)
at org.eclipse.aether.transport.wagon.WagonTransporter.put(WagonTransporter.java:410)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$PutTaskRunner.runTask(BasicRepositoryConnector.java:510)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350)
... 16 more
[INFO] Deployment failed after 0.55 sec
Build step 'Deploy artifacts to Maven repository' changed build result to FAILURE
Finished: FAILURE
我的HelloMaven項目的pom.xml文件條目如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.roseindia.maven.quickstart</groupId>
<artifactId>HelloMaven</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>HelloMaven</name>
<scm>
<connection>scm:svn:https://mylaptop/svn/myRepo/</connection>
</scm>
<build>
<finalName>HelloMaven</finalName>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<outputDirectory>${project.basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<archive>
<manifestEntries>
<SCM-Revision>${buildNumber}</SCM-Revision>
</manifestEntries>
</archive>
<webResources>
<resource>
<directory>${project.build.directory}/${project.build.finalName}</directory>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<targetPath>WEB-INF/classes</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>-->
<distributionManagement>
<repository>
<id>artifactory</id>
<name>HelloMaven-release</name>
<url>http://localhost:8081/artifactory/repo1</url>
</repository>
</distributionManagement>
</project>
MAVEN m2文件夾的settings.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--<localRepository>C:\Users\dipakrai\.m2\repository</localRepository>-->
<pluginGroups>
<!-- Nothing is present now-->
</pluginGroups>
<proxies>
<!-- Nothing is present now-->
</proxies>
<servers>
<server>
<username>admin</username>
<password>{v2akWC7LO8QHuoPFXESAScpHLzTFzcIKG054oyvz/nc=}</password>
<id>central</id>
</server>
<server>
<username>admin</username>
<password>{v2akWC7LO8QHuoPFXESAScpHLzTFzcIKG054oyvz/nc=}</password>
<id>snapshots</id>
</server>
</servers>
<mirrors>
<mirror>
<id>artifactory</id>
<url>http://localhost:8081/artifactory/repo1</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>artifadeploymentRepoctory</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>HelloMaven-release</name>
<url>http://localhost:8081/artifactory/repo1</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>HelloMaven-snapshot</name>
<url>http://localhost:8081/artifactory/repo1</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
在過去的四天內,我一直在嘗試解決此問題,並通過有關Maven,Jenkins,Nexus的基礎架構進行了許多發布。 我不確定我要去哪里錯。 任何線索將不勝感激。
@VonC的上述答案幫助我解決了這個問題。 我在settings.xml
文件中輸入的服務器ID和Jenkins工件配置不匹配。 我進行了以下列出的更改。 首先,我更新了Jenkins工件配置,如下所示。 REPOSITORY ID必須與settings.xml文件中提到的服務器ID完全匹配:
<server>
<username>admin</username>
<password>AP447H6DXXJW6WW54BvNBorau5s</password>
<id>artifactory</id>
</server>
而且, settings.xml
文件下面進一步的存儲庫ID條目必須與上面的服務器ID相同:
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>artifactory</id>
<name>myproject-release</name>
<url>http://localhost:8081/artifactory/repo2</url>
</repository>
其次, 盡管我尚未對此進行明確測試,但必須采用這種方式: 項目pom.xml文件中的條目還應具有與必須發布分發二進制文件的存儲庫相同的ID(在本例中為工件)。
<distributionManagement>
<repository>
<id>artifactory</id>
<name>HelloMaven-release</name>
<url>http://localhost:8081/artifactory/repo1</url>
</repository>
</distributionManagement>
另外 ,由於您將JFrog工件與Jenkins集成在一起,因此無需配置“將工件部署到Maven存儲庫”。 相反,如屏幕截圖所示,以下配置會將您的項目工件部署到工件。
“將工件部署到工件”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.