Кто-нибудь пробовал использовать Mvn Deploy для развертывания в Rational Team Concert?
Я экспериментирую с использованием концерта Rational Team для хранения наших двоичных файлов и / или создания артефактов. Я запускаю команду mvn deploy для развертывания моих артефактов сборки в RTC. Хотя он распознает соединение, он выдает мне код статуса HTTP: 500 ошибка.
Я также проверил журналы RTC для получения дополнительной информации, но я не вижу особых исключений. Все примеры или документы в Интернете говорят о том, что нам нужно настроить механизм сборки RTC для запуска сборок.
Я просто хочу знать, пытался ли кто-нибудь опубликовать RTC из командной строки, используя Mvn deploy (без использования RTC cleint)? это выполнимо?
Если вы успешно опубликовали артефакты в RTC, используя maven, не могли бы вы рассказать, как вы это сделали?
2 ответа
Я просто хочу знать, пытался ли кто-нибудь опубликовать RTC из командной строки, используя Mvn deploy (без использования RTC cleint)?
Нет, RTC не является репозиторием артефактов (как репозиторий Maven).
Это система тикетов в сочетании с репозиторием исходного кода и интерфейсом движка сборки.
Он может хранить источники и использовать их для запуска задания, которое будет производить доставку (например, двоичный файл).
Но этот результат должен быть сохранен в другом месте. Не в RTC.
- RTC имеет собственную базу данных для хранения всего (тикет, источники, определение сборки и записи сборки)
- Настоящий репозиторий артефактов (например, maven) - это простая коллекция общих каталогов, в которых публикуются результаты.
Вы можете легко удалить артефакт из репозитория артефактов: cd + rm.
Вы не можете легко удалить тот же результат из исходного репо (который, по своей природе, предназначен для сохранения истории, которую вы записали в нем)
Я использовал движок сборки RTC с maven для создания артефактов, которые распознаются в результатах сборки RTC. Это не похожий на maven репозиторий, но вместо этого используется RTC для отслеживания артефактов сборки (для отчетов об ошибках и т. Д.). (Если вы хотите опубликовать в репозитории, я рекомендую вам взглянуть на http://www.sonatype.org/nexus/, который позволяет использовать репозитории как Maven, так и Eclipse p2.)
Чтобы создать артефакты, распознаваемые RTC, в моем maven pom.xml я добавил несколько задач выполнения для запуска задач публикации RTC. Для вашей установки maven потребуется доступ к банкам, связанным с IBM. (Вы можете скопировать их в свою библиотеку Maven.) Об этом можно поговорить здесь: https://jazz.net/forum/questions/4936/how-to-publishing-build-results-using-maven
Например, следующее свяжет сгенерированный артефакт с отчетом о сборке RTC.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>jazz-link-activity</id>
<phase>package</phase>
<configuration>
<tasks name="publish link" if="link">
<property name="buildtoolkitpath" value="${buildtoolkitpath}" />
<property name="buildResultUUID" value="${buildResultUUID}" />
<property name="${repositoryAddress}" value="${repositoryAddress}" />
<property name="user" value="${builderId}" />
<property name="user.password" value="${builderPassword}" />
<property name="label"
value="${project.build.finalName}.v${buildNumber}" />
<property name="url" value="http://your-url/" />
<ant antfile="../XXX.parent/antTasks.xml" inheritAll="true"
target="linkPublisher" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
У меня есть отдельный файл для задач ant (antTasks.xml), который предоставляет функции сборки RTC. Это выглядит так:
<project name="JazzTasks">
<target name="setPaths" unless="jazzlib.dir">
<property name="jazzlib.dir" value="C:/Program Files/maven" />
<echo message="Jazz maven library path ${jazzlib.dir}" />
<echo message="Jazz buildtoolkit path ${buildtoolkitpath}" />
</target>
<target name="startBuildActivity" depends="init">
<echo message="Starting build activitty" />
</target>
<target name="linkPublisher" unless="publish.skip" depends="init">
<linkPublisher buildResultUUID="${buildResultUUID}" repositoryAddress="${repositoryAddress}" userId="${user}" password="${user.password}" verbose="true" url="${url}" label="${label}" failOnError="false" />
</target>
<target name="linkPublisher" unless="publish.skip" depends="init">
<linkPublisher buildResultUUID="${buildResultUUID}" repositoryAddress="${repositoryAddress}" userId="${user}" password="${user.password}" verbose="true" url="${url}" label="${label}" failOnError="false" />
</target>
<taskdef name="linkPublisher" classname="com.ibm.team.build.ant.task.LinkPublisherTask" >
<classpath>
<fileset dir="${buildtoolkitpath}">
<include name="*.jar" />
</fileset>
</classpath>
</taskdef>
Обсуждение на jazz.net стоит посмотреть.