作为Jenkins的工作,我有一个Spring-boot项目的gradle构建 . 我正在使用Jenkins的artifactory插件将生成的JAR发布到artifactory服务器 .
构建成功完成并且工件已发布,但Jenkins控制台报告与Artifactory通信时出错(摘自下面列出的控制台) .
我正在使用Jenkins 1.597,artifactory插件2.2.5和Artifactory 3.0.3
任何人都可以建议如何解决这个问题或帮助我更好地了解问题所在?
谢谢!
- 约翰
:artifactoryPublish
Deploying artifact: http://artifactory.ngdc.noaa.gov/artifactory/jenkins-local/ngdc/hazards/tsunamis/1.0-SNAPSHOT/tsunamis-1.0-SNAPSHOT.jar
Failed while reading the response from: PUT http://artifactory.ngdc.noaa.gov/artifactory/jenkins-local/ngdc/hazards/tsunamis/1.0-SNAPSHOT/tsunamis-1.0-SNAPSHOT.jar;build.name=tsunami;build.timestamp=1423158706241;build.number=42;vcs.revision=afd5283084a119a1e8a2983e0e94cfca7fc14df2 HTTP/1.1
org.codehaus.jackson.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: org.apache.http.conn.EofSensorInputStream@b51b399; line: 1, column: 2]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:943)
4 回答
我通过在IIS请求过滤中放置
Allow double escaping
来解决这个问题 . 其他代理可能需要类似的设置 .似乎升级到Artifactory 3.6.0解决了这个问题 . 现在使用Jenkins 1.605和Artifactory 3.6.0并且不再看到问题了 .
我只是通过在神器服务器URL(Jenkins - > Manage Jenkins - > Configure System - > Artifactory)中将
http
协议更改为https
来解决了这个问题 .而不是Artifactory服务器URL:
我有Artifactory服务器URL:
解释
我的神器服务器位于
nginx
proxy之后,它以HTTP 301
(重定向)响应http
协议请求 . Jenkins artifactory插件不处理此类重定向并需要直接URL .您可以使用
culr
检查您的网址是否是直接的:响应:
我有同样的问题 . 我通过将artifactory url添加到非代理主机来解决它,如下面的Manage Jenkins - > Configure System - > Global Properties Check Environment Variables,并使用如下名称配置属性