2015-07-03 3 views
0

refresh dependencies сбой из-за использования межсетевого экрана + прокси-сервера.Брандмауэр блокирует доступ к grails repo

Корпоративные ИТ не собираются делать исключение. Я обнаружил, что могу сделать рекурсивный wget на repo url и создать дубликат их структуры папок.

Что я могу сделать локально, чтобы все разработчики могли использовать это «зеркало» по умолчанию?

Если вышеизложенное невозможно, то где грааль обычно помещает эти файлы в установку на основе Windows?

ответ

1

Попробуйте добавить локальное репо на свой BuildConfig и, конечно же, сделайте его доступным через вашу локальную сеть или, возможно, сообщите другим разработчикам о создании своих локальных клонированных репозиториев. Путь к этому локальному репо может быть ENVARIONMENT_VARIABLE тоже (что делает его полностью настраиваемые)

repositories { 
    grailsPlugins() 
    grailsHome() 
    mavenCentral() 
    mavenRepo('/path/to/my-local-maven-repo') 
} 

http://jdpgrailsdev.github.io/blog/2014/02/10/grails_maven_local_repo.html

1

У вас есть несколько вариантов здесь.

Во-первых, если это обычный прокси-сервер, вы можете сконфигурировать grails для его использования. Примите к сведению следующие Граалей команды:

Это, в свою очередь, создаст файл в вашем домашнем каталоге в .grails называется ProxySettings.groovy (т.е. ~/.grails/ProxySettings), который затем используется всеми команды grails для всех проектов.

Однако, если вы находитесь за прокси-сервером Microsoft NTLM (как и я), я бы предложил сделать это выше, используя Java NTLM Proxy.

(Имейте в виду, однако, что Grails обертка не использует выше ProxySettings.groovy, а затем вы должны использовать стандартные JAVA_OPTS из -Dhttp.proxyPort, -Dhttp.proxyHost и т.д.)

Но я ценю, возможно, вы сделали все, это, и вы все еще хотите избежать прокси. Я бы предложил следующее решение - и тот, который следует учитывать в любом случае, - это создание корпоративного/внутреннего сервера хранилища Maven с чем-то вроде Artifactory или Nexus.

Наконец, есть инструкция от MamyKryzysKryzysKryzys с использованием mavenRepo(<localPath>). More info, который доступен в grail doco.

И, наконец, для решения вопроса о «где грааль обычно помещают эти файлы». Под капотом grails просто использует maven, поэтому он хранится в вашем normal maven local repo, который равен ~/.m2/repository.

Удачи вам! Proxies усложняет ситуацию, но как только вы оцениваете свое решение, это ушло в прошлое. Лично мы теперь используем комбинацию прокси-сервера Java NTLM и внутреннего сервера Artifactory.

Смежные вопросы