определение целевого объекта
Задачи выполняются в контексте выполнения, который является узлом агента или контейнером.
Определения, ссылающиеся на это определение: steps.task, steps.script, steps.powershell, steps.pwsh, steps.bash, steps.checkout, steps.download, steps.downloadBuild, steps.getPackage, steps.publish, steps.reviewApp
Варианты реализации решения
Реализация | Описание |
---|---|
target: строка | Среда, в которой выполняется этот шаг или задача. |
target: container, commands, settableVariables | Настройте целевой объект шага со средой и разрешенным списком команд и переменных. |
Реализация | Описание |
---|---|
target: строка | Среда, в которой выполняется этот шаг или задача. |
целевой объект: контейнер, команды | Настройте целевой объект шага с помощью среды и списка разрешенных команд. |
Комментарии
Отдельный шаг может переопределить его контекст, указав и при необходимости настроив target
контейнер, команды и устанавливаемые переменные.
target: строка
Укажите целевой объект шага по имени.
target: string # Environment in which to run this step or task.
target
Строка.
Доступные варианты — это слово host
, предназначенное для узла агента, а также все контейнеры, определенные в конвейере.
target: container, commands, settableVariables
Настройте целевой объект шага, используя имя контейнера, команды и устанавливаемые переменные.
target:
container: string # Container to target (or 'host' for host machine).
commands: string # Set of allowed logging commands ('any' or 'restricted').
settableVariables: none | [ string ] # Restrictions on which variables that can be set.
Свойства
container
Строка.
Контейнер для целевого объекта (или "узел" для хост-компьютера).
commands
Строка.
Набор разрешенных команд ведения журнала (any или restricted). любой | Ограничен.
settableVariables
target.settableVariables.
Ограничения на то, какие переменные можно задать.
целевой объект: контейнер, команды
Настройте целевой объект шага с помощью среды и списка разрешенных команд.
target:
container: string # Container to target (or 'host' for host machine).
commands: string # Set of allowed logging commands ('any' or 'restricted').
Свойства
container
Строка.
Контейнер для целевого объекта (или "узел" для хост-компьютера).
commands
Строка.
Набор разрешенных команд ведения журнала (any или restricted). любой | Ограничен.
Комментарии
Вам не нужно настраивать все эти свойства при настройке целевого объекта шага. Если значение не указано, значение по умолчанию для container
— , значение commands
по умолчанию — any
, а значение по умолчанию для settableVariables
позволяет задать все переменные host
шагом.
Нацеливание на шаг и изоляция команд
Azure Pipelines поддерживает выполнение заданий в контейнерах или на узле агента. Ранее для всего задания был задан один из этих двух целевых объектов. Теперь отдельные шаги (задачи или скрипты) могут выполняться в выбранном целевом объекте. Шаги также могут быть нацелены на другие контейнеры, поэтому конвейер может выполнять каждый шаг в специализированном контейнере, созданном специально.
Примечание
Эта функция предоставляется в общедоступной предварительной версии. Если у вас есть какие-либо отзывы или вопросы об этой функции, сообщите нам в Сообщество разработчиков.
Контейнеры могут выступать в качестве границ изоляции, не позволяя коду вносить непредвиденные изменения на хост-компьютере. Способы взаимодействия шагов со службами и доступа к ним из агента не влияют на изоляцию шагов в контейнере. Поэтому мы также представляем режим ограничения команд, который можно использовать с целевыми объектами шага. Если задано значение commands
, restricted
будут ограничены службы, которые шаг может запрашивать у агента. Он больше не сможет присоединять журналы, отправлять артефакты и некоторые другие операции.
Примеры
В следующем примере показано выполнение шагов на узле в контейнере заданий и в другом контейнере.
resources:
containers:
- container: python
image: python:3.8
- container: node
image: node:13.2
jobs:
- job: example
container: python
steps:
- script: echo Running in the job container
- script: echo Running on the host
target: host
- script: echo Running in another container, in restricted commands mode
target:
container: node
commands: restricted