我使用 Jenkins 来构建一个 Maven 项目。
我有Jenkins凭据插件和Jenkins Artifactory插件。
我已在凭据配置中添加了我的Artifactory凭据。
我已将artiFactory插件配置为使用凭据并设置了服务器URL。测试连接工作并报告它已找到服务器。
我的项目的POM在分发管理部分中为repository
和snapshotsRepository
指定正确的artiFactory路径。
我的Jenkins项目构建被配置为执行mvn部署
。
在我的本地版本中,从我的开发计算机,我可以部署到 Artifactory 服务器(我已在设置中配置凭据.xml
。
但是,在我Jenkins的工作中,我想使用artiFactory插件和Credonals int he Creentials插件。当我构建时,我得到以下
[DEBUG] Using connector WagonRepositoryConnector with priority 0 for http://xxxxx/artifactory/libs-release-local
Uploading: http://xxxxx/artifactory/libs-release-local/xxx/3.01/xxx-3.01.war
Uploading: http://xxxxx/artifactory/libs-release-local/xxx/3.01/xxx-3.01.pom
Notifying upstream projects of job completion
Join notifier requires a CauseAction
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
和以下堆栈跟踪
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project querynator:
Failed to deploy artifacts: Could not transfer artifact xxx:war:3.01 from/to dwCentral (http://xxxxx/artifactory/libs-release-local):
Failed to transfer file: http://xxxxx/artifactory/libs-release-local/xxx/3.01/xxx-3.01.war.
Return code is: 401, ReasonPhrase: .
这向我表明问题出在凭证上,特别是因为我可以从我的dev box(使用settings.xml中的凭证)进行部署,但不能从Jenkins进行部署。
我已尝试部署新版本。我已尝试部署快照。这不是版本问题。
我如何解决这个问题?我如何进一步解决这个问题?
假设您已经正确配置了凭据。如果您已经部署了版本,那么让我们对工件说一次x.y.z
。执行命令
mvn deploy
同样,对于同一版本,也会导致
返回代码为:401,原因短语:未经授权。
您可以尝试将版本更新为从未部署过的x. y. a
,该作业应该运行良好。
更多来自Maven生命周期基础的文档
部署
-在构建环境中完成,将最终包复制到远程存储库以与其他开发人员和项目共享。
并假设您了解 Maven 快照到底是什么,为什么我们需要它?并同意这样一个事实,即一旦项目在事物之间共享,就不应该为消费者动态更改,因此不允许同一版本多次部署阶段。
在Jenkins中使用Artifactory插件时,不应在主构建任务中使用< code>mvn deploy。它使用Maven Deploy插件,因此将尝试使用存储在settings.xml文件中的凭证。
相反,使用mvn install
作为主要构建任务,并设置一个新的构建后任务以将工件部署到存储库。
这允许您定义要使用的服务器、存储库位置和凭据。
我尝试使用jenkins管道将gradle工件上传到maven存储库。我关注了詹金斯的管道工作 如参考文件所述,应将构建工件部署到工件库。然而,在我的案例中没有部署构建工件。 我已经检查了并发现它是空的。 根据一些提示,我将以下代码放入我的: 然而,前面的没有帮助,仍然没有部署工件。 问题出在哪里?我错过了什么? 感谢您的任何意见。 编辑 我忘了为gradle deployer添加服务器设置。通过
我正在做一个使用Maven 3.0.4的项目。 一个示例项目结构 我们使用artifactory作为存储库管理工具,使用Jenkins作为CI构建服务器。artifactory/Jenkins插件也已安装。 如果我在Jenkins中将一个项目设置为Maven 2/3人力资源模型项目,并添加一个构建后步骤以部署到artifactory,那么一个jar工件就会部署到artifactory。 对模型项目
主要用于:C#项目、nuget包依赖项、MSBuild构建工具(无TFS) 我们正在评估艺术家工厂专业版,詹金斯为CI 我希望看到的是让Jenkins CI使用Artifactory插件从Artifactory获取Nuget包。如果nuget包当前未缓存在Artifactory中,我将从nuget gallery中获取它(https://www.nuget.org)并将它们缓存在Artifacto
我有一个非常基本的Gradle构建文件: 这是通过詹金斯执行的,看起来工作正常: 归档工件:[DefaultPublishArtifact_装饰模块-0.0.post0.dev6 n4c62094-py2.7:egg:egg:null] [buildinfo]属性文件位于“/tmp/buildInfo65481565498521”。财产 : artifactoryPublish 正在将生成描述符部
通过使用Jenkins的阿蒂工厂插件和Gradle,我能够成功地部署到我的阿蒂工厂实例。但是,我无法使用进入Jenkins配置的凭据从同一个存储库解析工件。 以下是,取自Artifactory中Artifactory的“生成构建脚本”功能。 错误: 在本地,解析工件是有效的(等都被解析了,因为我在本地中配置了它们)。但是,构建失败,因为未定义。当然,我可以配置供詹金斯使用(这是可行的),但这应该如
问题内容: 我正在尝试保存构建工件,并通过Jenkins Artifactory插件的上载/下载规范部分将其拉入新的构建。 有没有办法抓住“最新的”构建工件? 我在Artifactory文件规范文档中看到,下载规范中应该有一个“ build”元素,我可以在其中指定“ LATEST”,但这不起作用,只是说“ LATEST”未找到。也许我一开始没有正确地将我的作品发布到Artifactory? 根据这