Службу vRealize Automation Code Stream можно интегрировать с vRealize Orchestrator (vRO), чтобы дополнить ее функции возможностью выполнять рабочие процессы vRO. vRealize Orchestrator содержит множество предварительно определенных рабочих процессов, которые можно интегрировать со сторонними инструментами. Эти рабочие процессы позволяют автоматизировать процессы DevOps и управлять ими, автоматизировать массовые операции и многое другое.

Например, рабочий процесс в задаче vRO конвейера можно использовать для активации или удаления пользователя, перемещения виртуальных машин, интеграции со средствами тестирования для проверки кода в ходе выполнения конвейера и т. д. Примеры кода для рабочих процессов vRealize Orchestrator можно найти на сайте code.vmware.com.

Рабочий процесс vRealize Orchestrator позволяет конвейеру совершать различные действия в ходе выполнения сборки, тестирования и развертывания приложения. В конвейер можно включить предварительно настроенные рабочие процессы. Можно также создать и использовать настраиваемые рабочие процессы. Каждый рабочий процесс состоит из входных данных, задач и выходных данных.

Чтобы рабочий процесс vRO можно было запустить в рамках конвейера, он должен отображаться в списке доступных рабочих процессов в задаче vRO, включенной в конвейер.

Прежде чем рабочий процесс появится в задаче vRO конвейера, администратору нужно выполнить следующие действия в vRealize Orchestrator:

  1. Примените тег CODESTREAM к рабочему процессу vRO.
  2. Пометьте рабочий процесс vRO как глобальный.

Необходимые условия

  • Убедитесь в наличии доступа к локальному экземпляру vRealize Orchestrator с правами администратора. Для получения справки обратитесь к своему администратору либо см. документацию по vRealize Orchestrator.
  • Проверьте, являетесь ли вы участником проекта в vRealize Automation Code Stream. Если нет, попросите администратора vRealize Automation Code Stream добавить вас в проект в качестве участника. См. раздел Добавление проекта в vRealize Automation Code Stream.
  • Создайте конвейер в vRealize Automation Code Stream и добавьте в него новый этап.

Процедура

  1. Администратору необходимо подготовить рабочий процесс vRealize Orchestrator для выполнения конвейера.
    1. а. В vRealize Orchestrator найдите рабочий процесс, который требуется использовать в конвейере, например рабочий процесс для активации пользователя.
      Если нужный рабочий процесс отсутствует, его можно создать.
    2. б. В строке поиска введите Рабочий процесс с тегом, чтобы найти рабочий процесс с именем Рабочий процесс с тегом.
    3. в. На карточке Рабочий процесс с тегом выберите Запустить. Отобразится область настройки.
    4. г. В текстовом поле Рабочий процесс с тегом введите имя рабочего процесса, который будет использоваться в конвейере vRealize Automation Code Stream, а затем выберите его из списка.
    5. д. В текстовых областях Тег и Значение укажите CODESTREAM заглавными буквами.
    6. е. Установите флажок Глобальный тег.
    7. ё. Щелкните Запустить. Тег CODESTREAM будет присвоен рабочему процессу, который необходимо выбрать в конвейере vRealize Automation Code Stream.
    8. ж. В панели навигации выберите Рабочие процессы и убедитесь, что тег с именем CODESTREAM отображается в карточке рабочего процесса, который будет запускать конвейер.
      После входа в vRealize Automation Code Stream и добавления в конвейер задачи vRO в списке рабочих процессов появится рабочий процесс с тегом.
  2. Создайте в службе vRealize Automation Code Stream конечную точку для экземпляра vRealize Orchestrator.
    1. а. Выберите пункт Конечные точки > Новая конечная точка.
    2. б. Выберите проект.
    3. в. Введите соответствующее имя.
    4. г. Введите URL-адрес конечной точки vRealize Orchestrator.
      Используйте следующий формат: https://cava-n-01-234.eng.vmware.com:8281
      Не используйте следующий формат: https://cava-n-01-234.eng.vmware.com:8281/vco/api
    5. д. Щелкните Принять сертификат, если для введенного URL-адреса требуется сертификат.
    6. е. Введите имя пользователя и пароль для доступа к серверу vRealize Orchestrator.
  3. Подготовьте конвейер к выполнению задачи vRO.
    1. а. Добавьте задачу vRO в этап конвейера.
    2. б. Введите соответствующее имя.
    3. в. В области «Свойства рабочего процесса» выберите конечную точку vRealize Orchestrator.
    4. г. Выберите рабочий процесс с тегом CODESTREAM в vRealize Orchestrator.
      При выборе настраиваемого рабочего процесса может понадобиться ввести значения входных параметров.
    5. д. Для параметра Выполнение задачи задайте значение При условии.
      Если необходимо применить условия для задачи vRealize Orchestrator, введите их в области Условие.
    6. е. Введите условия, которые применяются в ходе работы конвейера.
      Когда запускать конвейер... Выберите условия...
      При условии

      Задача конвейера выполняется только в том случае, если заданное условие соблюдено (имеет значение «истина»). Если условие не соблюдено (имеет значение «ложь»), задача пропускается.

      В задачу vRO можно добавлять логические выражения, в которых используются перечисленные ниже операнды и операторы.

      • Переменные конвейера, такие как ${pipeline.variableName}. Фигурные скобки используются только при вводе переменных.
      • Переменные выходных данных задачи, такие как ${Stage1.task1.machines[0].value.hostIp[0]}.
      • Переменные привязки конвейеров по умолчанию, такие как ${releasePipelineName}.
      • Логические значения без учета регистра, такие как true, false, 'true' и 'false'.
      • Целочисленные или десятичные значения без кавычек.
      • Строковые значения с одинарными или двойными кавычками, такие как "test" и 'test'.
      • Строковые и числовые типы значений, такие как == Equals и != Not Equals.
      • Операторы отношения, такие как >, >=, < и <=.
      • Логические операторы, такие как && и ||.
      • Арифметические операторы, такие как +, -, * и /.
      • Вложенные выражения с фигурными скобками.
      • Строки, содержащие буквенное значение ABCD, считаются ложными, и задача пропускается.
      • Унарные операторы не поддерживаются.

      Пример условия: ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

      Всегда Если выбрать параметр Всегда, конвейер выполняет задачу без учета условий.
    7. ё. Введите приветственное сообщение.
    8. ж. Щелкните Проверить задачу и исправьте возникшие ошибки.
  4. Сохраните, включите и запустите конвейер.
  5. Проверьте результаты работы конвейера.
    1. а. Щелкните Выполняемые элементы.
    2. б. Щелкните нужный конвейер.
    3. в. Щелкните нужную задачу.
    4. г. Проверьте результаты, входное значение и свойства.
      Здесь можно просмотреть идентификатор выполнения рабочего процесса, имя пользователя, отреагировавшего на задачу, время ответа и все оставленные им комментарии.

Результаты

Поздравляем! Вы назначили тег рабочему процессу vRealize Orchestrator, который требовалось использовать в службе vRealize Automation Code Stream, и добавили задачу vRO в конвейер vRealize Automation Code Stream для выполнения рабочего процесса, автоматизирующего действие в среде DevOps.

Пример: Формат выходных данных задачи vRO

Формат выходных данных задачи vRO аналогичен данному примеру.

[{
                "name": "result",
                "type": "STRING",
                "description": "Result of workflow run.",
                "value": ""
},
{
                "name": "message",
                "type": "STRING",
                "description": "Message",
                "value": ""
}]

Дальнейшие действия

Добавьте в конвейеры дополнительные задачи, включающие рабочие процессы vRO, чтобы автоматизировать выполнение задач в средах разработки, тестирования и производства.