В настоящее время у меня есть около 16 проектов, которые я создаю с помощью maven, которые развернуты на том же сервере приложений, которые составляют что-то вроде «портала».Я построил родительский pom для обработки общих зависимостей и конфигураций плагинов.В настоящее время моя структура SVN выглядит примерно так:
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
Каждый отдельный проект развертывается отдельно.То есть project1 не имеет зависимости от project2, и каждый может быть изменен и развернут без необходимости что-либо изменять.
Это создает проблему с SVN, как если бы другой разработчик хотел проверить весь портал »"root (чтобы также получить родительский pom), они также по умолчанию будут удалять копии всех тегов и ветвей!Не совсем идеально.
Единственное, о чем я могу подумать, это использовать что-то вроде этого:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
Однако теперь все изменения проекта будут отслеживаться в папке тегов.Это не большая проблема для меня, но ветвление сейчас, кажется, становится болью.
В настоящее время я также работаю над подключением Teamcity к этому, что было бы немного проще, так как мне нужно было бы просматривать только один каталог (например, теги), чтобы перехватить все, что нужно построить.Я также внедряю артефакты в корпоративный репозиторий Nessus.
Я надеюсь, что кто-то может дать мне несколько советов, поскольку я не смог найти приличную документацию, рассказывающую обо всем жизненном цикле сборки и лучших практиках.
Мне нравится идея создания и развертывания всех проектов с помощью одной команды maven.Мне также нравится иметь все общие зависимости, информацию о хранилище и информацию о плагине в одном месте.