Delen via


doeldefinitie

Taken worden uitgevoerd in een uitvoeringscontext, die de agenthost of een container is.

Implementaties

Implementatie Beschrijving
doel: tekenreeks Omgeving waarin deze stap of taak moet worden uitgevoerd.
doel: container, opdrachten, settableVariables Configureer het doel van de stap met de omgeving en een lijst met toegestane opdrachten en variabelen.
Implementatie Beschrijving
doel: tekenreeks Omgeving waarin deze stap of taak moet worden uitgevoerd.
doel: container, opdrachten Configureer het doel van de stap met de omgeving en de lijst met toegestane opdrachten.

Opmerkingen

Een afzonderlijke stap kan de context overschrijven door een targetop te geven en eventueel een container, opdrachten en instelbare variabelen te configureren.

doel: tekenreeks

Geef een stapdoel op naam op.

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

target Tekenreeks.

Beschikbare opties zijn het woord host voor de agenthost plus eventuele containers die in de pijplijn zijn gedefinieerd.

doel: container, opdrachten, settableVariables

Configureer het stapdoel met behulp van een containernaam, opdrachten en instelbare variabelen.

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.

Eigenschappen

container Tekenreeks.
Container voor doel (of 'host' voor hostcomputer).

commands Tekenreeks.
Set toegestane opdrachten voor logboekregistratie ('any' of 'restricted'). elke | Beperkt.

settableVariablestarget.settableVariables.
Beperkingen voor welke variabelen kunnen worden ingesteld.

doel: container, opdrachten

Configureer het doel van de stap met de omgeving en de lijst met toegestane opdrachten.

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

Eigenschappen

container Tekenreeks.
Container voor doel (of 'host' voor hostcomputer).

commands Tekenreeks.
Set toegestane opdrachten voor logboekregistratie ('any' of 'restricted'). elke | Beperkt.

Opmerkingen

U hoeft niet al deze eigenschappen te configureren wanneer u een stapdoel configureert. Als dit niet is opgegeven, is hostde standaardwaarde voor container , de standaardwaarde van commands is any, en de standaardwaarde voor settableVariables staat toe dat alle variabelen stapsgewijs worden ingesteld.

Doel- en opdrachtisolatie van stappen

Azure Pipelines ondersteunt het uitvoeren van taken in containers of op de agenthost. Voorheen was een hele taak ingesteld op een van deze twee doelen. Nu kunnen afzonderlijke stappen (taken of scripts) worden uitgevoerd op het doel dat u kiest. Stappen kunnen ook zijn gericht op andere containers, zodat een pijplijn elke stap kan uitvoeren in een gespecialiseerde, speciaal gebouwde container.

Notitie

Deze functie is beschikbaar voor openbare preview. Als u feedback of vragen over deze functie hebt, laat het ons weten in de community voor ontwikkelaars.

Containers kunnen fungeren als isolatiegrenzen, waardoor code geen onverwachte wijzigingen kan aanbrengen op de hostcomputer. De manier waarop stappen communiceren met en toegang krijgen tot services van de agent , wordt niet beïnvloed door stappen in een container te isoleren. Daarom introduceren we ook een beperkingsmodus voor opdrachten die u kunt gebruiken met stapdoelen. Als u commands instelt op restricted , worden de services beperkt die een stap kan aanvragen bij de agent. Het kan niet langer logboeken bijvoegen, artefacten uploaden en bepaalde andere bewerkingen.

Voorbeelden

In het volgende voorbeeld ziet u het uitvoeren van stappen op de host in een taakcontainer en in een andere 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

Zie ook