Jenkins에 Gradle / Artifactory 통합을 사용하려면 프록시 서버를 통해 Gradle에서 웹 액세스가 필요합니다. 문제의 가능한 원인을 줄이기 위해 build.gradle에 Artifactory 플러그인을 수동으로 추가하고 명령 줄에서 실행합니다.
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.properties에 다음을 지정했습니다.
systemProp.http.proxyHost=hostname
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=de\\username
systemProp.http.proxyPassword=xxx
위의 프록시 구성 (다른 방법으로 작동)으로 인해 실패합니다.
11 : 33 : 17.699 [오류] [org.gradle.BuildExceptionReporter] 원인 : java.io.IOException : 서버에서 URL에 대한 HTTP 응답 코드 : 407을 리턴 함 : 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에서 동일한 옵션을 설정하면 효과가 있습니다.