Нам приходится регулярно настраивать новые среды сборки, и этот процесс кажется не таким уж простым. Сегодня у меня новая сборочная машина, и первая сборка Maven была настолько медленной, что я хотел уточнить, почему производительность была такой плохой. Но как это сделать?
Наш контекст:
- Мы используем несколько машин сборки, у каждого проекта своя.
- Каждая машина сборки имеет аналогичную настройку, поэтому проекты можно запускать сразу и не нужно много настраивать.
- We have the following tools preconfigured:
- Hudson (currently 2.1.1, but will change)
- Артифабрика 2.3.3.1
- Сонар
- У Hudson, Artifactory и Sonar настроен собственный Tomcat.
- Maven 2.2.1 и Maven 3.0.3 (без пользовательской конфигурации, только установка имеет
settings.xml
) - Ant 1.7.1 и Ant 1.8.2 (здесь не актуально)
- Клиент Subversion 1.6
Все инструменты должны работать вместе, особенно цепочка репозиториев должна быть:
- Построить репозиторий Maven на машине
- Построить машину
- Центральная компания Artifactory (работает зеркалом и тайником для мира)
- Центральный Maven (и другой репозиторий)
Поэтому, когда для сборки Maven требуется разрешить зависимость, она сначала будет искаться в локальном репозитории Maven, оттуда в локальном репозитории Artifactory, затем в центральном репозитории Artifactory и только потом в Интернете.
Обычно нам приходится использовать прокси для подключения к Интернету, нам это не нужно в нашей интрасети.
Первая сборка (Maven Hello World) была построена примерно за 45 минут. В то время происходила вся загрузка, но я думал, что используя нашу цепочку репозиториев (где центральный репозиторий хорошо заполнен), сборка будет намного быстрее. Так что я думаю, что в центре внимания отладки будет сеть, локальная сборка не проблема. Так что конфигурация и взаимодействие Maven и Artifactory находятся на рассмотрении.
Как вы отлаживаете такую среду? У меня есть доступ к сборочной машине (как sudo) и к центральному репозиторию, но я не знаю, как начать, что доказывать, где искать. Итак, каков ваш опыт, какими советами и рекомендациями вы хотели бы поделиться?