Как автоматически создать несколько подключаемых проектов Eclipse как один проект Jenkins? - PullRequest
1 голос
/ 25 августа 2011

мы используем Jenkins в качестве нашего сервера сборки. У нас есть проект, который состоит из плагинов Eclipse, основного проекта и нескольких других плагинов. Создание ядра на Дженкинсе и использование сонара на нем относительно.

Теперь мы хотим создать сборку Jenkins, в которой весь проект автоматически создается и тестируется Sonar. Интернет-исследование показало, что изменение упаковки на «pom» невозможно, поскольку для плагина Tycho должна быть установлена ​​упаковка «eclipse-plugin».

Что мы делаем не так и как вы настраиваете подобный проект в Jenkins?

Если вам нужна дополнительная информация, пожалуйста, сообщите.

Ответы [ 3 ]

1 голос
/ 25 августа 2011

Вы должны создать «зонтичный» проект Maven с pom упаковкой и сделать все остальные ваши модули проекта из этого агрегатора.Кроме того, вся группа проектов должна быть доступна из вашего инструмента SCM как единое целое.Если вы используете Subversion, это легко достижимо с помощью svn:externals, и с другими инструментами, я подозреваю, вам придется изменить свою конфигурацию.Я предлагаю вам также проверить, есть ли какие-нибудь плагины Jenkins , которые могли бы помочь.

0 голосов
/ 18 октября 2011

Учитывая этот пример макета каталога:

+ParentDir
 -pom.xml
   +ProjectA
    -pom.xml
   +ProjectB
    +SubDirB
     -pom.xml

Содержимое pom.xml в ParentDir должно включать следующее:

<packaging>pom</packaging>
<modules>
   <module>ProjectA/pom.xml</module>
   <module>ProjectB/SubDirB/pom.xml</module>
</modules>

И когда вы вызываете Maven на этом POM верхнего уровня, он добавит ProjectA и ProjectB в список создаваемых реакторов.

Это может быть адаптировано для аналогичных проектов, а тег <module> принимает относительные пути, например ../../SomeProject/pom.xml.

.
0 голосов
/ 12 сентября 2011

Для git вы можете использовать функцию субмодулей , чтобы добиться того же, что и с svn: externals. Посмотрите, например, mylyn, который, вероятно, приближается к тому, чего вы пытаетесь достичь:

git clone git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.git
...