Как я могу запустить оболочку Gradle за брандмауэром / используя прокси-сервер Maven? - PullRequest
2 голосов
/ 18 октября 2011

Я пытался заставить Gradle работать на нашем сервере непрерывной интеграции, который не имеет доступа к интернет-(внешним) URL-адресам.

В настоящее время мы получаем зависимости в стиле maven от внутреннего прокси-сервера. Поэтому я также загрузил оболочку gradle на этот сервер, чтобы при запуске CI-сервера он мог загрузить оболочку с внутреннего прокси-сервера maven.

Проблема решена, подумал я; сборка продолжит и выгрузит зависимости проекта от внутреннего прокси-сервера (это настроено в скрипте сборки) и теперь должна быть в порядке.

Но в промежутке между получением Zip-файла оболочки и началом сборки происходит следующее:

Downloading http://maven.internal.mycompany.com:8081/nexus/content/repositories/thirdparty/org/gradle/gradle/1.0-milestone-3/gradle-1.0-milestone-3-bin.zip ................
Unzipping /home/user/.gradle/wrapper/dists/gradle-1.0-milestone-3-bin.zip to /home/user/.gradle/wrapper/dists
Set executable permissions for: /home/user/.gradle/wrapper/dists/gradle-1.0-milestone-3/bin/gradle
Download http://repo1.maven.org/maven2/org/codehaus/groovy/groovy/1.7.3/groovy-1.7.3.pom
Download http://repo1.maven.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.pom
etc...

*** then the actual build starts ***
Download http://maven.internal.mycompany.com:8081/nexus/content/groups/public/commons-lang/commons-lang/2.6/commons-lang-2.6.jar

например. он пытается удалить дополнительные зависимости для исполняемого файла gradle из repo1.maven.org , который не работает на сервере непрерывной интеграции, поскольку у него нет доступа к этому серверу.

В моем файле build.gradle у меня есть:

repositories {
    mavenRepo urls: "http://maven.internal.mycompany.com:8081/nexus/content/groups/public"
}

и в моем файле ./gradle/wrapper/gradle-wrapper.properties у меня есть:

    distributionUrl=http\://maven.internal.mycompany.com:8081/nexus/content/repositories/thirdparty/org/gradle/gradle/1.0-milestone-3/gradle-1.0-milestone-3-bin.zip

Так есть ли другое место, где я могу указать, какой сервер должен использовать оболочка для получения дополнительных зависимостей? Или это жестко запрограммировано в самой обертке? Или я, возможно, здесь упускаю хитрость, так как Google, похоже, не обнаруживает никого, кто вообще имеет эту проблему!

Ben

1 Ответ

2 голосов
/ 19 октября 2011

Получил подсказку от другого форума, который привел меня к ответу - плагин для cobertura, который я собирал, имел свой собственный файл сборки gradle, который включал репозитории maven по умолчанию.

Я удалил этотеперь, и звонки на внешний maven прекратились.

...