向Artifactory发布工件时出现Jenkins错误

向Artifactory发布工件时出现Jenkins错误,jenkins,gradle,artifactory,Jenkins,Gradle,Artifactory,我在詹金斯有一个spring boot项目的渐变版本。我正在使用Jenkins的artifactory插件将生成的JAR发布到我们的artifactory服务器 构建成功完成,工件发布,但是Jenkins控制台报告与Artifactory通信时出错(摘自下面列出的控制台) 我使用的是Jenkins 1.597、artifactory插件2.2.5和artifactory 3.0.3 有谁能建议如何解决这个问题或帮助我更好地理解问题是什么 谢谢 --约翰 :artifactoryPublish 部

我在詹金斯有一个spring boot项目的渐变版本。我正在使用Jenkins的artifactory插件将生成的JAR发布到我们的artifactory服务器

构建成功完成,工件发布,但是Jenkins控制台报告与Artifactory通信时出错(摘自下面列出的控制台)

我使用的是Jenkins 1.597、artifactory插件2.2.5和artifactory 3.0.3

有谁能建议如何解决这个问题或帮助我更好地理解问题是什么

谢谢

--约翰

:artifactoryPublish
部署工件:http://artifactory.ngdc.noaa.gov/artifactory/jenkins-local/ngdc/hazards/tsunamis/1.0-SNAPSHOT/tsunamis-1.0-SNAPSHOT.jar
从读取响应时失败:PUThttp://artifactory.ngdc.noaa.gov/artifactory/jenkins-local/ngdc/hazards/tsunamis/1.0-SNAPSHOT/tsunamis-1.0-SNAPSHOT.jar;build.name=海啸;build.timestamp=1423158706241;建筑数量=42;vcs.revision=afd5283084a119a1e8a2983e0e94cfca7fc14df2 HTTP/1.1

org.codehaus.jackson.JsonParseException:意外字符(“升级到Artifactory 3.6.0似乎解决了问题。现在使用Jenkins 1.605和Artifactory 3.6.0,不再看到问题了。

我只需将Artifactory服务器URL中的
http
协议更改为
https
,就解决了问题(詹金斯->管理詹金斯->配置系统->人工制品)

因此,与Artifactory服务器URL不同:

我有Artifactory服务器URL:


解释 我的artifactory服务器位于
nginx
代理之后,它以
HTTP 301
(重定向)响应
HTTP
协议请求。Jenkins artifactory插件不处理此类重定向,需要直接URL

您可以使用
culr
检查您的URL是否为直接URL:

curl -l http://my.artifactory.server/artifactory
答复:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.6.3</center>
</body>
</html>

301永久搬迁
301永久搬迁

nginx/1.6.3
我也遇到了同样的问题。我通过向非代理主机添加artifactoryURL解决了这个问题,如下所示 管理Jenkins->配置系统->全局属性 检查环境变量,并使用以下名称配置属性

-Dgradle.user.home=<your .gradle path> -Dhttp.proxyHost=<httpProxy> -Dhttp.proxyPort=<port_of_httpProxyHost> **-Dhttp.nonProxyHosts=<your_artifactory_url>** -Dhttps.proxyHost=<httpsProxy> -Dhttps.proxyPort=<port_of_httpsProxyHost>
-Dgradle.user.home=-Dhttp.proxyHost=-Dhttp.proxyPort=**-Dhttp.nonProxyHosts=**-Dhttps.proxyHost=-Dhttps.proxyPort=

我通过在IIS请求筛选中放入
允许双转义
解决了这个问题。其他代理可能需要类似的设置。

我的问题是将工件名称-X-0.1-TEST.zip发布到快照存储库。一旦我将版本更改为X-0.1-snapshot,它就会上载。

它看起来像是工件与插件版本不匹配。Artifactory返回XML,而插件需要JSON。我将检查更改的版本,并提供完整答案。谢谢。尽管有些作业(例如grails)正常工作,而其他作业(例如gradle)显示错误,但这似乎很奇怪。好的,我检查过。Artifactory从未为此查询返回XML:)问题,您在Artifactory和Jenkins之间有代理服务器吗?谢谢您的检查。Artifactory使用Jetty独立运行,但Jenkins通过Apache访问它。我也收到了相同的错误。我使用的是Jenkins版本1.601、Artifactory插件2.2.7和Artifactory 2.6.6
curl -l http://my.artifactory.server/artifactory
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.6.3</center>
</body>
</html>
-Dgradle.user.home=<your .gradle path> -Dhttp.proxyHost=<httpProxy> -Dhttp.proxyPort=<port_of_httpProxyHost> **-Dhttp.nonProxyHosts=<your_artifactory_url>** -Dhttps.proxyHost=<httpsProxy> -Dhttps.proxyPort=<port_of_httpsProxyHost>