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

В vRealize Automation Code Stream доступны все задачи, необходимые для работы конвейера: извлечение артефактов из репозитория для развертывания, запуск удаленного сценария, запрос подтверждения пользовательской операции от участника группы и т. д.

Прежде чем использовать задачу в конвейере, убедитесь в доступности соответствующей конечной точки.

Табл. 1. Получите утверждение или настройте точку принятия решения
Тип задачиа Функции Примеры и сведения
Пользовательская операция

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

См. раздел Запуск конвейера и просмотр результатов. и Управление пользовательским доступом и утверждениями в службе vRealize Automation Code Stream.

Условие

Добавляет точку принятия решений, которая определяет, будет ли конвейер продолжать работать или остановится, на основе условных выражений. Если условие истинно, конвейер выполняет последующие задачи. Если условие ложно, конвейер останавливается.

См. раздел Использование привязок переменных в задаче «Условие» для запуска или остановки конвейера в vRealize Automation Code Stream.

Табл. 2. Автоматизация непрерывной интеграции и развертывания
Тип задачи Функции Примеры и сведения
Облачный шаблон

Развертывает облачный шаблон автоматизации из GitHub и подготавливает приложение, а также автоматизирует непрерывную интеграцию и непрерывную доставку (CICD) этого облачного шаблона для развертывания.

См. раздел Как автоматизировать выпуск приложения, развернутого с использованием облачного шаблона YAML в vRealize Automation Code Stream.

Параметры облачного шаблона отображаются, после того как пользователь выбрал элемент Создать или Обновить, а затем Облачный шаблон и Версия. В текстовые области ввода в задаче облачного шаблона можно добавить следующие элементы, которые содержат привязки переменных.

  • Целое число
  • Строка перечисления
  • Логическое значение
  • Переменная массива

Если во входных данных используются привязки переменных, необходимо учитывать следующие исключения. Для перечислений значения выбираются из фиксированного набора. Логические значения вводятся в текстовую область ввода.

Параметр облачного шаблона отображается в задаче облачного шаблона, если облачный шаблон в vRealize Automation Cloud Assembly содержит входные переменные. Например, если в облачном шаблоне есть тип входных данных Integer, можно ввести непосредственно целочисленное значение или переменную с помощью привязки переменных.

CI

Задача CI обеспечивает непрерывную интеграцию кода пользователя в конвейер путем извлечения образа сборки Docker из конечной точки реестра и его развертывания в кластере Kubernetes.

См. раздел Планирование собственной сборки по модели непрерывной интеграции и непрерывной доставки в vRealize Automation Code Stream перед использованием смарт-шаблона конвейера.

Настраиваемое

Задача «Настраиваемое» обеспечивает интеграцию vRealize Automation Code Stream с пользовательскими инструментами сборки, тестирования и развертывания.

См. раздел Интеграция собственных средств сборки, тестирования и развертывания со службой vRealize Automation Code Stream.

Kubernetes

Автоматизация развертывания приложений в кластерах Kubernetes на AWS.

См. раздел Автоматизация выпуска приложения в кластере Kubernetes с помощью vRealize Automation Code Stream.

Конвейер

Создает вложенный конвейер в главном конвейере. Если конвейер является вложенным, он работает как задача в первичном конвейере.

На вкладке «Задача» главного конвейера можно легко перейти к вложенному конвейеру, если щелкнуть ссылку на него. Вложенный конвейер откроется на вкладке «Создать браузер».

Чтобы найти вложенные конвейеры в разделе Выполняемые элементы, введите вложенный в области поиска.

Табл. 3. Интеграция приложений для разработки, тестирования и развертывания
Тип задачи... Функции... Примеры и сведения...
Bamboo

Взаимодействует с сервером непрерывной интеграции Bamboo (CI), который непрерывно создает, тестирует и интегрирует программное обеспечение при подготовке к развертыванию, а также запускает сборки кода, когда разработчики фиксируют изменения. Он предоставляет расположения артефактов, которые создает сборка Bamboo, чтобы задача могла выводить параметры для других задач, которые будут использоваться для сборки и развертывания.

Подключитесь к конечной точке сервера Bamboo и запустите план сборки Bamboo из своего конвейера.

Jenkins

Запускает задания Jenkins, которые создают и проверяют исходный код, запускают сценарии тестирования и могут использовать настраиваемые сценарии.

См. раздел Интеграция Jenkins со службой vRealize Automation Code Stream.

TFS

Позволяет подключить конвейер к Team Foundation Server для управления проектами сборки и их вызова, в том числе настроенных заданий, которые обеспечивают сборку и тестирование кода.

vRealize Automation Code Stream поддерживает Team Foundation Server 2013 и 2015.

vRO

Расширяет возможности vRealize Automation Code Stream за счет запуска предварительно определенных или настраиваемых рабочих процессов в vRealize Orchestrator.

См. раздел Интеграция службы vRealize Automation Code Stream с решением vRealize Orchestrator.

Табл. 4. Интеграция других приложений с помощью API-интерфейса
Тип задачи... Функции... Примеры и сведения...
REST

Интегрирует vRealize Automation Code Stream с другими приложениями, использующими интерфейс REST API, чтобы было можно непрерывно разрабатывать и доставлять приложения, которые должны взаимодействовать друг с другом.

См. раздел Как использовать интерфейс REST API для интеграции vRealize Automation Code Stream с другими приложениями.

Опрос

Вызывает интерфейс REST API и опрашивает его до тех пор, пока задача конвейера не станет соответствовать критериям выхода и не завершится.

См. раздел Как использовать интерфейс REST API для интеграции vRealize Automation Code Stream с другими приложениями.

Табл. 5. Запуск удаленных и пользовательских сценариев
Тип задачи Функции Примеры и сведения
PowerShell

Задача PowerShell позволяет vRealize Automation Code Stream выполнять команды сценария на удаленном узле. Например, сценарий может автоматизировать тестовые задачи и выполнять административные команды.

Сценарий может быть удаленным или определяемым пользователем. Он может подключаться по протоколу HTTP или HTTPS, а также использовать протокол TLS.

Для узла Windows необходимо настроить службу winrm. Для winrm, в свою очередь, необходимо настроить параметры MaxShellsPerUser и MaxMemoryPerShellMB.

Чтобы запустить оболочку PowerShell, должно быть открыто подключение к удаленному узлу Windows.

Длина командной строки PowerShell

При вводе команды PowerShell в формате base64 сначала следует вычислить ее общую длину.

В конвейере vRealize Automation Code Stream команда PowerShell формата base64 кодируется и упаковывается в другую команду, что увеличивает ее общую длину.

Максимально допустимая длина команды winrm PowerShell составляет 8192 байт. С учетом кодирования и упаковки предельно допустимая длина команды оболочки PowerShell уменьшается. Поэтому прежде чем ввести команду PowerShell, необходимо вычислить ее длину.

Ограничение длины команды для оболочки PowerShell vRealize Automation Code Stream зависит от длины исходной команды в коде base64. Длина команды вычисляется следующим образом.

3 * (length of original command / 4)) - (numberOfPaddingCharacters) + 77 (Length of Write-output command)

Длина команды vRealize Automation Code Stream должна быть меньше максимального порога в 8192 байт.

При настройке MaxShellsPerUser и MaxMemoryPerShellMB:

  • Допустимое значение для MaxShellsPerUser — 500 для 50 параллельных конвейеров с 5 задачами PowerShell для каждого конвейера. Чтобы задать значение, выполните: winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}'
  • Допустимое значение памяти для MaxMemoryPerShellMB — 2048. Чтобы задать значение, выполните: winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="2048"}'

Сценарий записывает выходные данные в файл ответа, который может использоваться другим конвейером.

SSH

Задача SSH позволяет задаче сценария оболочки Bash выполнять команды сценария на удаленном узле. Например, сценарий может автоматизировать тестовые задачи и выполнять административные команды.

Сценарий может быть удаленным или определяемым пользователем. Он может подключаться по протоколу HTTP или HTTPS и требует наличия закрытого ключа или пароля.

Служба SSH должна быть настроена на узле Linux, а для конфигурации SSHD для MaxSessions должно быть задано значение 50.

Сценарий может быть удаленным или определяемым пользователем. Например, сценарий может выглядеть следующим образом:

message="Hello World" echo $message

Сценарий записывает выходные данные в файл ответа, который может использоваться другим конвейером.