Привязка задачи конвейера — это создание зависимости для задачи при выполнении конвейера. Создать привязку для задачи конвейера можно несколькими способами. Можно привязать задачу к другой задаче, к переменной и выражению или к условию.
Использование привязок со знаком доллара с переменными облачных шаблонов в задаче облачного шаблона
Привязки со знаком доллара можно применить к переменным облачного шаблона в задаче облачного шаблона конвейера Code Stream. Способ изменения переменных в Code Stream зависит от кода, с помощью которого заданы свойства переменной в облачном шаблоне.
Если в задаче облачного шаблона необходимо использовать привязки в виде знака доллара, а текущая версия облачного шаблона, применяемая в задаче, этого не позволяет, измените облачный шаблон в Cloud Assembly и разверните новую версию. Затем используйте новую версию облачного шаблона в задаче облачного шаблона и добавьте привязки со знаком доллара там, где это необходимо.
Чтобы применить привязки в виде знака доллара к типам свойств, предоставляемым облачным шаблоном Cloud Assembly, требуются соответствующие разрешения.
- Необходимо иметь ту же роль, что и пользователь, создавший развертывание облачного шаблона в Cloud Assembly.
- Моделировать и запускать конвейер могут разные пользователи, роли которых могут отличаться.
- Если разработчик с ролью исполнителя в Code Stream моделирует конвейер, у этого разработчика должна быть такая же роль в Cloud Assembly, как у пользователя, развернувшего облачный шаблон. Например, это может быть роль администратора Cloud Assembly.
- Конвейер и развертывание могут быть созданы только лицом, моделирующим конвейер, так как у этого лица есть соответствующее разрешение.
Использование маркера API-интерфейса в задаче облачного шаблона
- Пользователь, моделирующий конвейер, может выдать маркер API-интерфейса другому пользователю с ролью исполнителя в 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}'
Чтобы использовать облачный шаблон в конвейере Code Stream и добавить к нему привязки в виде знака доллара, выполните следующие действия.
- В Code Stream выберите .
- Добавьте в конвейер задачу Облачный шаблон.
- В задаче «Облачный шаблон» в качестве источника облачного шаблона выберите Облачные шаблоны Cloud Assembly, введите имя облачного шаблона и выберите его версию.
- Обратите внимание, что можно ввести маркер API-интерфейса в качестве источника учетных данных для конвейера. Чтобы создать переменную, которая шифрует маркер API-интерфейса в задаче облачного шаблона, щелкните Создать переменную.
- Обратите внимание на значения параметров в таблице Параметры и значения. Значение по умолчанию для параметра flavor — small, для параметра image — ubuntu.
- Предположим, требуется изменить облачный шаблон в Cloud Assembly. Для этого можно выполнить следующие действия.
- а.Настройте конфигурацию так, чтобы в ней использовалось свойство типа массив. В Cloud Assembly разрешается указывать значения для конфигурации через запятую, если выбран тип array.
- б.Щелкните Развернуть.
- в.На странице «Типы развертывания» введите имя развертывания и выберите версию облачного шаблона.
- г.На странице «Входные данные развертывания» можно определить одно или несколько значений для Flavor.
- д.Следует отметить, что входные данные развертывания включают в себя все переменные, определенные в коде облачного шаблона, и отображаются так, как они заданы в коде. Например:
Integer Var
,String Var
,Flavor Var
,Boolean Var
,Object Var
иArray Var
.String Var
иFlavor Var
являются строковыми значениями, аBoolean Var
— флажком. - е.Щелкните Развернуть.
- В Code Stream выберите новую версию облачного шаблона и введите значения в таблице Параметры и значения. Облачные шаблоны поддерживают следующие типы параметров, которые позволяют создавать привязки Code Stream, используя переменные в виде знака доллара. Имеются незначительные различия между пользовательским интерфейсом задачи облачного шаблона Code Stream и пользовательским интерфейсом облачного шаблона Cloud Assembly. В зависимости от кодировки облачного шаблона в Cloud Assembly ввод значений в задаче облачного шаблона в Code Stream может быть запрещен.
- а.Для flavorVar: если тип облачного шаблона определен как строка или массив, введите строку или массив значений, разделенных запятыми. Пример массива: test, test.
- б.Для BooleanVar: в раскрывающемся меню выберите значение истина или ложь. Или, чтобы использовать привязку переменных, введите знак $ и выберите привязку переменных из списка.
- в.Для objectVar: укажите значение, используя фигурные скобки и кавычки, в следующем формате: {"bkix":"bkix":}.
- г.Переменная objectVar будет передаваться в облачный шаблон, и ее можно будет использовать различными способами в зависимости от облачного шаблона. Это позволяет использовать для объекта JSON строковый формат, а также добавлять пары «ключ-значение», разделенные запятыми, в таблицу «ключ-значение». Для объекта JSON можно ввести обычный текст или пару «ключ-значение» как обычный формат преобразования в строку для JSON.
- д.Для arrayVar: введите входное значение в виде массива с разделителями-запятыми в следующем формате: ["1", "2"].
- В конвейере можно привязать входной параметр к массиву.
- а.Перейдите на вкладку Входные данные.
- б.Укажите имя входных данных. Например, arrayInput.
- в.В таблице Параметры и значения выберите arrayVar и введите ${input.arrayInput}.
- г.После сохранения и включения конвейера, при его запуске будет необходимо указывать входное значение массива. Например, введите ["1", "2"] и нажмите кнопку Запустить.
Мы рассмотрели, как использовать привязку переменных со знаком доллара ($) в облачном шаблоне в задаче облачного шаблона конвейера Code Stream.
Передача параметра в конвейер при его выполнении
Можно указать дополнительные входные параметры для конвейера, чтобы служба Code Stream передала их в конвейер. После этого при выполнении конвейера пользователь должен будет вводить значение соответствующих входных параметров. Если в конвейер добавлены выходные параметры, в задачах конвейера может использоваться выходное значение из какой-либо задачи. Служба Code Stream поддерживает несколько способов использования параметров для удовлетворения различных требований конвейеров.
Например, чтобы запрашивать у пользователя URL-адрес его сервера Git при выполнении конвейера с задачей REST, можно привязать задачу REST к URL-адресу сервера Git.
Чтобы создать привязку переменных, необходимо добавить переменную привязки URL-адреса в задачу REST. Когда конвейер работает и достигает задачи REST, пользователь должен ввести URL-адрес сервера Git. Чтобы создать привязку, выполните следующие действия.
- В конвейере перейдите на вкладку Входные данные.
- Чтобы задать параметр, выберите для элемента Автоматическая вставка параметров значение Git.
Отображается список параметров Git, среди которых есть GIT_SERVER_URL. Если необходимо использовать значение по умолчанию для URL-адреса сервера Git, измените этот параметр.
- Щелкните Модель и выберите нужную задачу REST.
- На вкладке Задача в области URL-адрес введите знак $, затем выберите Входные данные и GIT_SERVER_URL.
Запись выглядит следующим образом: ${input.GIT_SERVER_URL}
- Чтобы проверить целостность привязки переменной для задачи, щелкните Проверить задачу.
Code Stream показывает, что задача успешно проверена.
- Когда конвейер выполняет задачу REST, пользователь должен ввести URL-адрес сервера Git. В противном случае задача не завершится.
Связывание двух задач конвейера путем создания входных и выходных параметров
Чтобы связать две задачи, необходимо добавить переменную привязки во входную конфигурацию принимающей задачи. Затем, когда конвейер работает, пользователь заменяет переменную привязки на обязательные входные данные.
Для связывания задач конвейера следует указать переменную со знаком доллара ($) во входных и выходных параметрах. Рассмотрим это на примере.
Допустим, нам требуется конвейер для вызова URL-адреса в задаче REST и вывода ответа. Чтобы вызвать URL-адрес и вывести ответ, необходимо включить в задачу REST входные и выходные параметры. Кроме того, необходим пользователь, который может подтвердить задачу, а также в разделе «Пользовательские операции» требуется указать задачу для другого пользователя, который может ее подтвердить при запуске конвейера. В этом примере показано, как использовать выражения во входных и выходных параметрах, а также как настроить в конвейере ожидание подтверждения задачи.
- В конвейере перейдите на вкладку Входные данные.
- В качестве значения Параметров автоматической вставки оставьте вариант Нет.
- Нажмите кнопку Добавить, введите имя, значение и описание параметра и нажмите кнопку ОК. Например:
- а.Введите имя URL-адреса.
- б.Введите значение:
{Stage0.Task3.input.http://www.docs.vmware.com}
- в.Введите описание.
- Перейдите на вкладку Выходные данные, щелкните Добавить и введите имя и сопоставление выходного параметра.
- а.Введите уникальное имя выходного параметра.
- б.Щелкните область Ссылка и введите
$
. - в.Укажите сопоставление выходных данных задач, выбрав нужные параметры. Выберите Stage0, Task3, output и responseCode. Затем нажмите OK.
- Сохраните конвейер.
- В меню Действия выберите Запустить.
- Щелкните .
- Выберите цикл выполнения конвейера и просмотрите заданные входные и выходные параметры.
- Чтобы утвердить конвейер, щелкните Пользовательские операции и просмотрите список подтверждений на вкладке Активные элементы. Или оставаясь в разделе «Выполняемые элементы», щелкните задачу и выберите Подтвердить.
- Чтобы кнопки Подтвердить и Отклонить стали активными, установите флажок рядом с выполняемым элементом.
- Чтобы просмотреть сведения, нажмите стрелку раскрывающегося списка.
- Чтобы утвердить задачу, щелкните ПОДТВЕРДИТЬ, введите причину и нажмите кнопку ОК.
- Щелкните Выполняемые элементы и убедитесь, что конвейер продолжает работу.
- В случае сбоя конвейера исправьте ошибки, после чего сохраните конвейер и запустите его снова.
Дополнительные сведения о переменных и выражениях
Дополнительные сведения об использовании переменных и выражений для связывания задач конвейера см. в разделе Какие переменные и выражения можно использовать для связывания задач конвейера в Code Stream.
Дополнительные сведения об использовании выходных данных задачи конвейера с условной переменной привязки см. в разделе Использование привязок переменных в задаче «Условие» для запуска или остановки конвейера в Code Stream.