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

Использование привязок со знаком доллара с переменными облачных шаблонов в задаче облачного шаблона

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

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

Чтобы применить привязки со знаком доллара к типам свойств, предоставляемым облачным шаблоном vRealize Automation Cloud Assembly, требуются соответствующие разрешения.

  • Необходимо иметь ту же роль, что и пользователь, создавший развертывание облачного шаблона в vRealize Automation Cloud Assembly.
  • Моделировать и запускать конвейер могут разные пользователи, роли которых могут отличаться.
  • Если разработчик с ролью исполнителя в vRealize Automation Code Stream моделирует конвейер, у этого разработчика должна быть такая же роль в vRealize Automation Cloud Assembly, как у пользователя, развернувшего облачный шаблон. Например, может требоваться роль администратора vRealize Automation Cloud Assembly.
  • Разрешение на создание конвейера и развертывания имеет только тот пользователь, который моделирует конвейер.

Использование маркера API-интерфейса в задаче облачного шаблона

  • Пользователь, моделирующий конвейер, может выдать маркер API-интерфейса другому пользователю с ролью исполнителя в vRealize Automation Code Stream. При запуске конвейера исполнителем будут использоваться маркер API-интерфейса и учетные данные, создаваемые маркером API-интерфейса.
  • Когда пользователь вводит маркер API-интерфейса в задаче облачного шаблона, создаются учетные данные, необходимые для запуска конвейера.
  • Чтобы зашифровать значение маркера API-интерфейса, щелкните Создать переменную.
  • Если переменная для маркера API-интерфейса не создана, при использовании в задаче облачного шаблона значение маркера API-интерфейса будет отображаться в виде обычного текста.

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

Начните с облачного шаблона, для которого определены свойства входных переменных, например integerVar, stringVar, flavorVar, BooleanVar, objectVar и arrayVar. Свойства образа определяются в разделе resources. Свойства в коде облачного шаблона могут выглядеть следующим образом.

formatVersion: 1
inputs:
  integerVar:
    type: integer
    encrypted: false
    default: 1
  stringVar:
    type: string
    encrypted: false
    default: bkix
  flavorVar:
    type: string
    encrypted: false
    default: medium
  BooleanVar:
    type: boolean
    encrypted: false
    default: true
  objectVar:
    type: object
    encrypted: false
    default:
      bkix2: bkix2
  arrayVar:
    type: array
    encrypted: false
    default:
      - '1'
      - '2'
resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      image: ubuntu
      flavor: micro
      count: '${input.integerVar}'

Для image и flavor можно использовать переменные со знаком доллара ($). Например:

resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      input: '${input.image}'
      flavor: '${input.flavor}'

Чтобы использовать облачный шаблон в конвейере vRealize Automation Code Stream и добавить к нему привязки со знаком доллара, выполните следующие действия.

  1. В vRealize Automation Code Stream выберите Конвейеры > Пустой холст.
  2. Добавьте в конвейер задачу Облачный шаблон.
  3. В задаче «Облачный шаблон» в качестве источника облачного шаблона выберите Облачные шаблоны Cloud Assembly, введите имя облачного шаблона и выберите его версию.
  4. Следует отметить, что можно ввести маркер API-интерфейса, предоставляющий учетные данные для запуска конвейера. Кроме того, команда Создать переменную позволяет создать переменную, которая шифрует маркер API-интерфейса в задаче облачного шаблона.
  5. Обратите внимание на значения параметров в таблице Параметры и значения. Значение по умолчанию для параметра flavor — small, для параметра image — ubuntu.
  6. Предположим, что требуется изменить облачный шаблон в vRealize Automation Cloud Assembly. Для этого можно выполнить следующие действия.
    1. а.Настройте для конфигурации использование свойства типа array. В vRealize Automation Cloud Assembly разрешается указывать значения для конфигурации через запятую, если выбран тип array.
    2. б.Щелкните Развернуть.
    3. в.На странице «Типы развертывания» введите имя развертывания и выберите версию облачного шаблона.
    4. г.На странице «Входные данные развертывания» можно определить одно или несколько значений для Flavor.
    5. д.Следует отметить, что входные данные развертывания включают в себя все переменные, определенные в коде облачного шаблона, и отображаются так, как они заданы в коде облачного шаблона. Например: Integer Var, String Var, Flavor Var, Boolean Var, Object Var и Array Var. String Var и Flavor Var являются строковыми значениями, а Boolean Var — флажком.
    6. е.Щелкните Развернуть.
  7. В vRealize Automation Code Stream выберите новую версию облачного шаблона и введите значения в таблице Параметры и значения. В облачных шаблонах поддерживаются следующие типы параметров, а также возможность разрешать в vRealize Automation Code Stream привязку к ним переменных со знаком доллара. С этим связаны незначительные различия в пользовательском интерфейсе задачи облачного шаблона vRealize Automation Code Stream и интерфейсе облачного шаблона vRealize Automation Cloud Assembly. В зависимости от способа кодирования облачного шаблона в задаче разрешено или запрещено вводить значения.
    1. а.Для flavorVar: если тип облачного шаблона определен как строка или массив, введите строку или массив значений, разделенных запятыми. Пример массива: test, test.
    2. б.Для BooleanVar: в раскрывающемся меню выберите значение истина или ложь. Или, чтобы использовать привязку переменных, введите знак $ и выберите переменную для привязки из списка.
    3. в.Для objectVar: укажите значение, используя фигурные скобки и кавычки, в следующем формате: {"bkix":"bkix":}.
    4. г.Переменная objectVar будет передаваться в облачный шаблон, и ее можно будет использовать различными способами в зависимости от облачного шаблона. Это позволяет использовать для объекта JSON строковый формат, а также добавлять пары «ключ-значение», разделенные запятыми, в таблицу «ключ-значение». Для объекта JSON можно ввести обычный текст или пару «ключ-значение» как обычный формат преобразования в строку для JSON.
    5. д.Для arrayVar: введите входное значение в виде массива с разделителями-запятыми в следующем формате: ["1", "2"].
  8. В конвейере можно привязать входной параметр к массиву.
    1. а.Перейдите на вкладку Входные данные.
    2. б.Укажите имя входных данных. Например, arrayInput.
    3. в.В таблице Параметры и значения выберите arrayVar и введите ${input.arrayInput}.
    4. г.После сохранения и включения конвейера, при его запуске будет необходимо указывать входное значение массива. Например, введите ["1", "2"] и нажмите кнопку Запустить.

Мы рассмотрели, как использовать привязку переменных со знаком доллара ($) в облачном шаблоне в задаче облачного шаблона конвейера vRealize Automation Code Stream.

Передача параметра в конвейер при его выполнении

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

Например, чтобы запрашивать у пользователя URL-адрес его сервера Git при выполнении конвейера с задачей REST, можно привязать задачу REST к URL-адресу сервера Git.

Чтобы создать привязку переменных, необходимо добавить переменную привязки URL-адреса в задачу REST. Когда конвейер работает и достигает задачи REST, пользователь должен ввести URL-адрес сервера Git. Чтобы создать привязку, выполните следующие действия.

  1. В конвейере перейдите на вкладку Входные данные.
  2. Чтобы задать параметр, выберите для элемента Автоматическая вставка параметров значение Git.

    Отображается список параметров Git, среди которых есть GIT_SERVER_URL. Если потребуется использовать значение по умолчанию для URL-адреса сервера Git, необходимо задать этот параметр.

  3. Щелкните Модель и выберите нужную задачу REST.
  4. На вкладке Задача в области URL-адрес введите знак $, затем выберите Входные данные и GIT_SERVER_URL.

    Запись выглядит следующим образом: ${input.GIT_SERVER_URL}

  5. Чтобы проверить целостность привязки переменной для задачи, щелкните Проверить задачу.

    vRealize Automation Code Stream показывает, что задача успешно проверена.

  6. Когда конвейер выполняет задачу REST, пользователь должен ввести URL-адрес сервера Git. В противном случае задача не завершится.

Связывание двух задач конвейера путем создания входных и выходных параметров

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

Для связывания задач конвейера, во входных и выходных параметрах следует указать переменную со знаком доллара ($). Рассмотрим, как это сделать.

Допустим, нам требуется конвейер для вызова URL-адреса в задаче REST и вывода ответа. Для этого в задачу REST необходимо включить входные и выходные параметры. Кроме того, требуется утверждение задачи пользователем. Для этого в разделе «Пользовательские операции» требуется указать задачу для подтверждения другим пользователем при выполнении конвейера. В этом примере показано, как использовать выражения во входных и выходных параметрах, а также как настроить в конвейере ожидание подтверждения задачи.

  1. В конвейере перейдите на вкладку Входные данные.

  2. В качестве значения Параметров автоматической вставки оставьте вариант Нет.
  3. Нажмите кнопку Добавить, введите имя, значение и описание параметра и нажмите кнопку ОК. Например:
    1. а.Введите имя URL-адреса.
    2. б.Введите значение: {Stage0.Task3.input.http://www.docs.vmware.com}
    3. в.Введите описание.
  4. Перейдите на вкладку Выходные данные, щелкните Добавить и введите имя и сопоставление выходного параметра.

    1. а.Введите уникальное имя выходного параметра.
    2. б.Щелкните область Ссылка и введите $.
    3. в.Укажите сопоставление выходных данных задач, выбрав нужные параметры. Выберите Stage0, Task3, output и responseCode. Затем нажмите OK.

  5. Сохраните конвейер.
  6. В меню Действия выберите Запустить.
  7. Щелкните Действия > Просмотреть выполняемые элементы.
  8. Щелкните выполняемый элемент и просмотрите заданные входные и выходные параметры.

  9. Чтобы утвердить конвейер, щелкните Пользовательские операции и просмотрите список подтверждений на вкладке Активные элементы. Или оставаясь в разделе «Выполняемые элементы», щелкните задачу и выберите Подтвердить.
  10. Чтобы кнопки Подтвердить и Отклонить стали активными, установите флажок рядом с выполняемым элементом.
  11. Чтобы просмотреть сведения, нажмите стрелку раскрывающегося списка.
  12. Чтобы утвердить задачу, щелкните ПОДТВЕРДИТЬ, введите причину и нажмите кнопку ОК.

  13. Щелкните Выполняемые элементы и убедитесь, что конвейер продолжает выполняться.

  14. В случае сбоя конвейера исправьте ошибки, после чего сохраните конвейер и запустите его снова.

Дополнительные сведения о переменных и выражениях

Дополнительные сведения об использовании переменных и выражений для связывания задач конвейера см. в разделе Какие переменные и выражения можно использовать для связывания задач конвейера в vRealize Automation Code Stream.

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