Поделиться через


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

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

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

Реализации

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

Замечания

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

target: string

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

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: 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.
ограничения, для которых можно задать переменные.

целевой объект: контейнер, команды

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

target:
  container: string # Container to target (or 'host' for host machine).
  commands: any | restricted # Set of allowed logging commands ('any' or 'restricted').

Свойства

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

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

Замечания

Вам не нужно настраивать все эти свойства при настройке целевого объекта шага. Если не указано, значение по умолчанию для 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

См. также