Создание компонентов с помощью клиента командной строки

Если в IBM® UrbanCode Deploy отсутствует тип конфигурации источника для вашей системы компоновки, для управления компонентами можно использовать клиент командной строки udclient.

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

Для установки клиента обратитесь к разделу Installing the command-line client.

Об этой задаче

При таком использовании клиента udclient можно передать на сервер новые версии компонентов, запустить процессы, добавить ссылки на внешние источники и выполнить на сервере IBM UrbanCode Deploy многие другие задачи в рамках процесса компоновки. Таким образом, на сервере IBM UrbanCode Deploy можно работать с компонентами без изменения технологии компоновки.

Процедура

Выполните следующие общие действия для настройки компонента, использующего клиент командной строки:

  1. Создайте в IBM UrbanCode Deploy один или несколько компонентов, представляющих компоненты компоновки. Используйте следующие параметры в окне Создать компонент:
    • В поле Тип конфигурации источника выберите Нет.
    • Выключите переключатель Импортировать версии автоматически.
    • Остальные поля в этом окне заполните как обычно.
  2. Добавьте в сценарии компоновки компонента код, который вызывает команды клиента udclient для создания версии компонента и передачи артефактов на сервер IBM UrbanCode Deploy. В большинстве случаев для создания версии используется несколько разных команд. Ниже показаны примеры некоторых команд, которые можно использовать.
    Прим.: Примеры содержат код из файлов компоновки Ant Apache. Так, клиент udclient вызывается с помощью команды Ant <exec>, которая вызывает внешние программы. Если применяется другая технология компоновки, то необходимо соответствующим образом адаптировать примеры для вызова клиента udclient.
    1. Для создания новой версии воспользуйтесь командой 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>
    2. Для передачи артефактов в версию компонента используйте команду 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>
    3. Необязательно: Добавьте ссылки из версии компонента. Команда 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.


Комментарии