Freigeben über


Zieldefinition

Aufgaben werden in einem Ausführungskontext ausgeführt, der entweder der Agenthost oder ein Container ist.

Definitionen, die auf diese Definition verweisen: steps.task, steps.script, steps.powershell, steps.pwsh, steps.bash, steps.checkout, steps.download, steps.downloadBuild, steps.getPackage, steps.publish, steps.reviewApp

Ausführungen

Implementierung BESCHREIBUNG
Ziel: Zeichenfolge Umgebung, in der dieser Schritt oder diese Aufgabe ausgeführt werden soll.
Ziel: Container, Befehle, settableVariables Konfigurieren Sie Schrittziel mit Umgebung und liste der zulässigen Befehle und Variablen.

Bemerkungen

Ein einzelner Schritt kann seinen Kontext außer Kraft setzen, indem er eine targetangibt und optional einen Container, Befehle und feststellbare Variablen konfiguriert.

Ziel: Schnur

Geben Sie ein Schrittziel anhand des Namens an.

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

target Zeichenfolge.

Verfügbare Optionen sind das Wort host für den Agenthost sowie alle container, die in der Pipeline definiert sind.

target: container, befehle, setableVariables

Konfigurieren Sie schrittziels mithilfe eines Containernamens, befehls und festgelegter Variablen.

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.

Eigenschaften

container Zeichenfolge.
Container als Ziel (oder "Host" für Hostcomputer).

commands Zeichenfolge.
Satz zulässiger Protokollierungsbefehle ('any' oder 'restricted'). any | eingeschränkt.

settableVariables target.setableVariables.
Einschränkungen für die Variablen, die festgelegt werden können.

Bemerkungen

Sie müssen nicht alle diese Eigenschaften konfigurieren, wenn Sie ein Schrittziel konfigurieren. Wenn nicht angegeben, ist der Standardwert für containerhost, der Standardwert von commands ist any, und der Standardwert für settableVariables ermöglicht das Festlegen aller Variablen nach einem Schritt.

Schrittzielsetzung und Befehlsisolation

Azure Pipelines unterstützt das Ausführen von Aufträgen entweder in Containern oder auf dem Agenthost. Zuvor wurde ein vollständiger Auftrag auf eines dieser beiden Ziele festgelegt. Jetzt können einzelne Schritte (Aufgaben oder Skripts) auf dem von Ihnen ausgewählten Ziel ausgeführt werden. Schritte können auch auf andere Container abzielen, sodass eine Pipeline jeden Schritt in einem spezialisierten, zweckgebauten Container ausführen kann.

Hinweis

Dieses Feature befindet sich in der öffentlichen Vorschau. Wenn Sie Feedback oder Fragen zu diesem Feature haben, teilen Sie uns dies in der Developer Communitymit.

Container können als Isolationsgrenzen fungieren und verhindern, dass Code unerwartete Änderungen auf dem Hostcomputer vornehmen kann. Die Art und Weise, wie Schritte mit dem Agenten kommunizieren und auf dessen Dienste zugreifen, wird durch die Isolierung von Schritten in einem Container nicht beeinträchtigt. Daher führen wir auch einen Befehlseinschränkungsmodus ein, den Sie mit Schrittzielen verwenden können. Wenn Sie commands auf restricted festlegen, schränken Sie die Dienste ein, die ein Schritt vom Agent anfordern kann. Es wird nicht mehr in der Lage sein, Protokolle anzuhängen, Artefakte hochzuladen und bestimmte andere Vorgänge auszuführen.

Beispiele

Das folgende Beispiel zeigt die Ausführung von Schritten auf dem Host in einem Auftragscontainer und in einem anderen Container.

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

Siehe auch