Кто-нибудь пробовал использовать 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 стоит посмотреть.

Другие вопросы по тегам