Если в
IBM® UrbanCode Deploy
отсутствует тип конфигурации источника для вашей системы компоновки, для
управления компонентами можно использовать клиент командной строки
udclient.
Об этой задаче
При таком использовании клиента
udclient можно
передать на сервер новые версии компонентов, запустить процессы, добавить
ссылки на внешние источники и выполнить на сервере
IBM UrbanCode Deploy
многие другие задачи в рамках процесса компоновки. Таким образом, на сервере
IBM UrbanCode Deploy
можно работать с компонентами без изменения технологии компоновки.
Процедура
Выполните следующие общие действия для настройки компонента,
использующего клиент командной строки:
- Создайте в
IBM UrbanCode Deploy
один или несколько компонентов, представляющих компоненты компоновки. Используйте
следующие параметры в окне Создать компонент:
- В поле Тип конфигурации источника выберите
Нет.
- Выключите переключатель Импортировать версии
автоматически.
- Остальные поля в этом окне заполните как обычно.
- Добавьте в сценарии компоновки компонента код, который вызывает команды
клиента udclient для создания версии компонента и передачи
артефактов на сервер
IBM UrbanCode Deploy. В большинстве случаев для создания версии используется несколько разных
команд. Ниже показаны примеры некоторых команд, которые можно использовать.
Прим.: Примеры содержат код из файлов компоновки Ant Apache. Так, клиент
udclient вызывается с помощью команды Ant
<exec>, которая вызывает внешние программы. Если
применяется другая технология компоновки, то необходимо соответствующим образом
адаптировать примеры для вызова клиента udclient.
- Для создания новой версии воспользуйтесь командой
createVersion. В следующем примере кода создается версия компонента с именем
mycomponent. В качестве имени версии
задается системное время компоновки. Переменные
${udclient.weburl}, ${udclient.username} и
${udclient.password} представляют URL сервера, имя
пользователя и пароль для сервера.
<exec executable="/bin/bash"
outputproperty="mycomponent.component.output">
<arg value="/opt/udclient/udclient"/>
<arg value="-weburl"/>
<arg value="${udclient.weburl}"/>
<arg value="-username"/>
<arg value="${udclient.username}"/>
<arg value="-password"/>
<arg value="${udclient.password}"/>
<arg value="createVersion"/>
<arg value="-component"/>
<arg value="mycomponent"/>
<arg value="-name"/>
<arg value="${buildTimestamp}"/>
</exec>
- Для передачи артефактов в версию компонента используйте команду
addVersionFiles. В следующем примере кода файлы в папке ${destdir}
передаются в версию:
<exec executable="/bin/bash">
<arg value="/opt/udclient/udclient"/>
<arg value="-weburl"/>
<arg value="${udclient.weburl}"/>
<arg value="-username"/>
<arg value="${udclient.username}"/>
<arg value="-password"/>
<arg value="${udclient.password}"/>
<arg value="addVersionFiles"/>
<arg value="-component"/>
<arg value="mycomponent"/>
<arg value="-version"/>
<arg value="${buildTimestamp}"/>
<arg value="-base"/>
<arg value="${destdir}"/>
</exec>
- Необязательно: Добавьте ссылки из версии компонента. Команда
addVersionLink
позволяет добавить ссылки из версии на внешние ресурсы компоновки, например
на страницу с информацией о результатах компоновки. Эти ссылки отображаются
в верхней части информационной страницы для версии компонента. На следующем
рисунке показана версия компонента со ссылкой на связанное задание компоновки и
связанный результат компоновки в системе управления исходным кодом: Например следующий код добавляет ссылку на страницу результатов
компоновки с URL http://build.example.com/projects/mycomponent/${buildResultUUID}:
<exec executable="/bin/bash">
<arg value="/opt/udclient/udclient"/>
<arg value="-weburl"/>
<arg value="${udclient.weburl}"/>
<arg value="-username"/>
<arg value="${udclient.username}"/>
<arg value="-password"/>
<arg value="${udclient.password}"/>
<arg value="addVersionLink"/>
<arg value="-component"/>
<arg value="mycomponent"/>
<arg value="-version"/>
<arg value="${buildTimestamp}"/>
<arg value="-linkName"/>
<arg value="External build result"/>
<arg value="-link"/>
<arg value="http://build.example.com/projects/mycomponent/${buildResultUUID}"/>
</exec>
Результаты
Теперь при запуске компоновки во внешнем инструменте компоновки процесс
компоновки будет создавать версию компонента и передавать артефакты для этой
версии на сервер
IBM UrbanCode Deploy.
С этого момента с компонентом и его версией можно работать на сервере в обычном
порядке, например, выполняя процессы с ними.
В сценарий компоновки можно
добавить и другие команды. Например можно запускать процессы приложения с
помощью команды
requestApplicationProcess.