Necesito acceso web desde Gradle a través de un servidor proxy para usar la integración Gradle / Artifactory para Jenkins. Para reducir las posibles causas de problemas, agrego manualmente el complemento Artifactory en build.gradle y lo ejecuto desde la línea de comandos:
apply {
apply from: "http://gradle.artifactoryonline.com/gradle/plugins/org/jfrog/buildinfo/build-info-extractor-gradle/1.0.1/artifactoryplugin-1.0.1.gradle"
}
Siguiendo esta descripción, especifiqué lo siguiente en .gradle / gradle.properties en mi directorio de inicio:
systemProp.http.proxyHost=hostname
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=de\\username
systemProp.http.proxyPassword=xxx
Con la configuración de proxy anterior (que se sabe que funciona), falla:
11: 33: 17.699 [ERROR] [org.gradle.BuildExceptionReporter] Causado por: java.io.IOException: el servidor devolvió el código de respuesta HTTP: 407 para URL: http://gradle.artifactoryonline.com/gradle/plugins/org/ jfrog / buildinfo / build-info-extractor-gradle / 1.0.1 / artifactoryplugin-1.0.1.gradle
Tengo dos servidores proxy para elegir, y uno siempre responde con 407
(se requiere autenticación de proxy ), el otro con 502
( Puerta de enlace incorrecta ), por lo que, obviamente, se utilizan las opciones proxyHost y proxyPort.
Como el nombre de usuario (basado en un usuario de Active Directory) contiene una barra diagonal inversa, probé ambos \\
y \
, pero ninguno funcionó. El usuario especificado es diferente del usuario que inició sesión en la máquina y en Active Directory. Las credenciales de este usuario no son válidas para el proxy, por lo que necesito poder especificar un usuario diferente.
Establecer las mismas opciones en la GUI de Jenkins o Artifactory funcionó.