最佳答案
我需要通过代理服务器从Gradle访问web,以使用Gradle/Artifactory集成的Jenkins。为了减少可能导致问题的原因,我在构建中手动添加了Artifactory插件。Gradle并从命令行运行它:
apply {
apply from: "http://gradle.artifactoryonline.com/gradle/plugins/org/jfrog/buildinfo/build-info-extractor-gradle/1.0.1/artifactoryplugin-1.0.1.gradle"
}
在这描述之后,我在.gradle/gradle中指定了以下内容。在我的主目录中的属性:
systemProp.http.proxyHost=hostname
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=de\\username
systemProp.http.proxyPassword=xxx
使用上面的代理配置(否则已知工作),它会失败:
11:33:17.699[错误][org.gradle.]导致:java.io.IOException:服务器返回HTTP响应代码:407 for URL: http://gradle.artifactoryonline.com/gradle/plugins/org/jfrog/buildinfo/build-info-extractor-gradle/1.0.1/artifactoryplugin-1.0.1.gradle
我有两个代理服务器可供选择,一个总是响应407
(需要代理认证),另一个与502
(坏的网关),所以显然,使用proxyHost和proxyPort选项。
由于用户名(基于Active Directory用户)包含反斜杠,我尝试了\\
和\
,但都不起作用。指定的用户与已登录计算机和Active Directory的用户不同。这个用户的凭据对代理无效,所以我需要能够指定一个不同的用户。
在Jenkins或Artifactory的GUI中设置相同的选项也可以。