определение целевого объекта

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

Определения, ссылающиеся на это определение: steps.task, steps.script, steps.powershell, steps.pwsh, steps.bash, шаги Checkout, steps.download, steps.downloadBuild, steps.getPackage, steps.publish, steps.reviewApp

Реализации

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

Замечания

Отдельный шаг может переопределить его контекст, указав target, а также при необходимости настроить контейнер, команды и переменные набора.

Цель: String

Укажите целевой объект шага по имени.

target: string # Environment in which to run this step or task.

строка target.

Доступные варианты — это слово host , предназначенное для узла агента, а также всех контейнеров, определенных в конвейере.

цель: container, commands, settableVariables

Настройте целевой объект шага с помощью имени контейнера, команд и переменных набора.

target:
  container: string # Container to target (or 'host' for host machine).
  commands: any | restricted # Set of allowed logging commands ('any' or 'restricted').
  settableVariables: none | [ string ] # Restrictions on which variables that can be set.

Свойства

строка container.
контейнер для целевого объекта (или узла) для хост-компьютера.

строка commands.
Набор разрешенных команд ведения журнала ("любой" или "ограниченный"). any | ограниченный.

settableVariables target.settableVariables.
ограничения, для которых можно задать переменные.

Замечания

Вам не нужно настраивать все эти свойства при настройке целевого объекта шага. Если не указано, значение по умолчанию для container равно host, значение по умолчанию commands равно any, а значение по умолчанию для settableVariables позволяет задать все переменные по шагу.

нацеленность на этапы и изоляция команд;

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

См. также