Настройка сценариев компоновки Ant для интеграции компоновки

Сценарии Ant из IBM® Rational Asset Manager можно настроить для интеграции с приложением компоновки, например IBM Rational Build Forge.

Прежде чем начать

  • Свойства сценариев необходимо настроить с учетом информации о системе Rational Asset Manager.
  • Для запуска сценариев Publish и DownloadArtifactLinks требуется установить файл .jar Ant-Contrib в каталоге библиотеки. Загрузите архив, содержащий файл .jar, и выполните инструкции по установке.
Прим.: Во время настройки сценариев компоновки Ant для интеграции компоновки укажите в переменной JAVA_HOME папку Java™, а в переменной ANT_HOME - установочный каталог Ant (версии 1.7.0 или более поздней). Переменные PATH или CLASSPATH задавать не требуется.

Процедура

  1. Создайте проект компоновки (например, проект Rational Build Forge). Если все инструменты, библиотеки и зависимые компоненты доступны в качестве ресурсов Rational Asset Manager, то компоновку можно выполнить на основе этих ресурсов с помощью стандартных сценариев Ant. Кроме того, эти сценарии можно использовать с другими утилитами и решениями компоновки.
  2. С помощью сценариев Ant, поставляемых вместе с Rational Asset Manager, выполните компоновку ресурсов и опубликуйте результаты компоновки как новые ресурсы. В каждом сценарии используются задачи Ant Rational Asset Manager. Файл ramclient.zip содержит набор необходимых файлов .jar и задач и сценариев Ant; его можно загрузить со страницы Расширения любого развернутого экземпляра сервера Rational Asset Manager. Он также доступен по следующему адресу: http://<хост>:<порт>/ram/ramclient.zip (например, http://<localhost>:<9080>/ram/ramclient.zip).
  3. Извлеките файл ramclient.zip в каталог и добавьте в параметр библиотек Ant файл jar. При использовании Ant 1.8 установите для параметра библиотек Ant файл ramclient-ant1.8.jar из этой папки. При использовании Ant 1.7 установите для параметра библиотек Ant файл ramclient-ant.jar из этой папки. Извлеченные из архива ramclient.zip файлы перемещать нельзя. Ant автоматически найдет остальные файлы .jar, которые требуются для ramclient-ant1.8.jar или ramclient-ant.jar.
  4. Укажите ресурсы для компоновки с помощью следующего сценария: ramDownloadAsset.xml

    Файл ramDownloadAsset.xml представляет собой пример сценария Ant, загружающего содержимое ресурсов (в качестве артефактов). Этот сценарий можно использовать в процессе компоновки, предусматривающей применение утвержденных библиотек или исполняемых файлов (примеры: специальный компилятор, общие компоненты или общие сценарии).

    В сценарии DownloadAsset необходимо задать следующие свойства:
    • lib.dir = Целевой каталог для копирования ресурса.
    • ram.url = URL приложения веб-служб Rational Asset Manager (в веб-клиенте Rational Asset Manager нажмите значок Справка, выберите Расширения и найдите поле Расположение хранилища в разделе веб-служб).
    • ram.user.uid = ИД пользователя для работы с сервером Rational Asset Manager.
    • ram.user.passwd = Пароль для работы с сервером Rational Asset Manager.
    • ram.asset.guid = Уникальный идентификатор ресурса (уникальный ИД Rational Asset Manager, указанный на странице ресурса).
    • ram.asset.version = Версия ресурса (версия Rational Asset Manager, указанная на странице ресурса).
    • build.id = ИД компоновки, применяемый Rational Asset Manager для отслеживания компоновки.
    Пример свойств загрузки ресурса:
    <property name="lib.dir" value="C:\libdir" />
    <property name="ram.url" value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="ram.asset.guid" value="8141FA04-E837-FA50-7052-5269E7C6937C" /> 
    <property name="ram.asset.version" value="1.0" />
    В следующем списке перечислены необязательные свойства, которые передаются продукту Rational Asset Manager для дополнительного описания операции загрузки:
    • build.type = Тип компоновки (например, "RTC Daily Build").
    • build.team.area = Коллектив или проект компоновки (например, проект Rational Asset Manager).
    • build.team.server = Сервер, применяемый для работы с исходным кодом проекта или коллектива.
  5. Выберите артефакты, связанные с ресурсами компоновки, с помощью следующего сценария: ramDownloadArtifactLinks.xml

    Файл ramDownloadArtifactLinks.xml представляет собой сценарий Ant для загрузки артефактов из проекта Eclipse в Rational Asset Manager. Его можно использовать в случае загрузки исходного кода из системы SCM, если проекты содержат ссылки на артефакты Rational Asset Manager. В среде Eclipse такие ссылки обрабатываются автоматически модулями клиента Rational Asset Manager.

    В этом сценарии используются утилиты задачи ANT-CONTRIB (http://ant-contrib.sourceforge.net/). Укажите файл ant-contrib-XXX.jar в пути к библиотеке.

    В сценарии DownloadArtifactLinks необходимо задать следующие свойства:
    • build.dir = рабочая область Eclipse, в которой расположены файлы rambuildercontrol.xml. Каталог, в котором были сохранены все проекты Eclipse (как правило, из системы SCM).
    • ram.url = URL приложения веб-служб Rational Asset Manager (в веб-клиенте Rational Asset Manager выберите Справка > Расширения, прокрутите вниз до раздела веб-служб и посмотрите значение поля Расположение хранилища).
    • ram.user.uid = ИД пользователя для работы с сервером Rational Asset Manager.
    • ram.user.passwd = Пароль для работы с сервером Rational Asset Manager.
    • ram.download.result.file = (необязательно) Путь к файлу. Вместе с этим свойством указывается свойство "ram.downloadlist" со списком загруженных ресурсов, перечисленных через ";". (Пример: GUID,version,artifact,artifact;GUID,version,artifact,artifact,artifact).
    Пример свойств загрузки связанных ресурсов:
    <property name="ram.url" value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="build.dir" value="C:\Documents and Settings\Administrator\Desktop\RTC Workspace\" />
    <property name="ram.download.result.file" value="C:\BuildDir\publishresults" />
  6. Для публикации результатов компоновки в качестве новых ресурсов применяется следующий сценарий: ramPublishAsset.xml

    Файл ramPublishAsset.xml представляет собой пример сценария Ant, применяемого для публикации содержимого ресурсов в Rational Asset Manager. Этот сценарий можно использовать в процессе компоновки, если набор созданных артефактов требуется опубликовать в Rational Asset Manager как один ресурс. При этом учитываются зависимости от других ресурсов, с помощью которых был создан этот ресурс (например, общие компоненты, компоненты с открытым исходным кодом, поддерживаемые платформы и спецификации). Кроме того, создается ссылка на реализацию этого скомпонованного и опубликованного ресурса (например, на спецификацию, выпуск или эскиз).

    В этом сценарии используются утилиты задачи ANT-CONTRIB (http://ant-contrib.sourceforge.net/). Укажите файл ant-contrib-XXX.jar в пути к библиотеке.

    В сценарии PublishAsset необходимо задать следующие свойства:
    • ram.url = URL приложения веб-служб Rational Asset Manager (поле Расположение хранилища на странице Справка/Расширения в Rational Asset Manager).
    • ram.user.uid = ИД пользователя для работы с сервером Rational Asset Manager.
    • ram.user.passwd = Пароль для работы с сервером Rational Asset Manager.
    • ram.asset.version = Версия ресурса (версия Rational Asset Manager, указанная на странице ресурса).
    • ram.asset.name = Уникальное имя ресурса.
    • ram.asset.community = Целевое сообщество для загрузки ресурса.
    • ram.asset.type = Тип ресурса.
    • ram.asset.shortDescription = Краткое описание.
    • ram.asset.description = Описание ресурса.
    • ram.asset.artifacts = Файл архива, содержащий структуру каталогов всех публикуемых артефактов.
    • ram.release.guid = Уникальный идентификатор, с которым ресурс связан в выпуске. Ресурс с взаимосвязью "реализация для" (например, при публикации ресурс можно связать со спецификациями, требованиями к выпуску и т.д.).
    • ram.release.version = Версия ресурса "реализация для".
    • build.id = ИД компоновки, используемый Rational Asset Manager для отслеживания компоновки; можно указать произвольную строку.
    Пример свойств публикации ресурсов:
    <property name="ram.url" value="http://machine127.ibmtst01.com:9080/ram.ws" />
    <property name="ram.asset.version" value="1.0" />
    <property name="ram.asset.name" value="Publish Script test" />
    <property name="ram.release.guid" value="7198899C-3E2A-A3CE-2E76-68BC2A637AD2" />
    <property name="ram.release.version" value="7.2" />
    <property name="build.id" value="1234" />
    В следующем списке перечислены необязательные свойства, которые передаются продукту Rational Asset Manager для дополнительного описания операции загрузки.
    • ram.download.result.file = (необязательно) Путь к файлу, созданному сценарием ramDownloadArtifactLinks.xml. Если это свойство задано, то сценарий добавит взаимосвязь зависимости во все ресурсы, указанные в этом файле.
    • verify.state.name = Если это свойство задано, то сценарий проверит, что все файлы, перечисленные в файле ram.download.result.file, находятся в указанном состоянии (например, "Утверждено").
    В загруженные артефакты добавляется следующая информация:
    • build.type = Тип компоновки (например, "RTC Daily Build").
    • build.team.area = Коллектив или проект компоновки (например, проект Rational Asset Manager).
    • build.team.server = Сервер, применяемый для работы с исходным кодом проекта или коллектива.
    • src.repository = Хранилище исходного кода, с помощью которого ресурс был разработан.
    • build.id = ИД операции компоновки, с помощью которой был создан ресурс.
    • build.def.id = Тип операции компоновки, с помощью которой был создан ресурс.
    • build.label = Описание компоновки.
    • build.url = URL операции компоновки, с помощью которой был создан ресурс.
    • src.repository = URL хранилища, с помощью которого был разработан ресурс.

Пример

Пример запуска сценария загрузки при использовании Ant 1.8:
ant -v -lib <каталог-ramclient>/ramclient-ant1.8.jar 
-file ramDownloadAsset.xml 
-Dlib.dir=<целевой каталог для загрузки артефактов> 
-Dram.url=<URL хранилища, указанного на странице Расширение> 
-Dram.user.id=<ИД пользователя ram> 
-Dram.user.passwd=<пароль пользователя ram> 
-Dram.asset.guid=<GUID> 
-Dram.asset.version=<версия> 
-Dbuild.id=<ИД назначения загрузки>
Примеры применения этих сценариев приведены в разделах http://www.ibm.com/support/docview.wss?uid=swg27016509 и http://www.ibm.com/developerworks/offers/lp/demos/summary/r-assetmanagerrbf.html.

Комментарии