Freigeben über


jobs.job.container definition

Containeraufträge ermöglichen ihnen das Ausführen von Aufträgen auf einem Container anstelle des Agenthosts.

Definitionen, die auf diese Definition verweisen: Pipeline, jobs.job, jobs.deployment

Ausführungen

Implementierung BESCHREIBUNG
Container: Zeichenfolgen- Auftragscontainer nach Alias angeben.
Container: Image- Geben Sie den Auftragscontainer mit Imagetag und Optionen an.

container: string

Auftragscontainer nach Alias angeben.

container: string # Specify job container by alias.

container Zeichenfolge.

Auftragscontainer nach Alias angeben.

Bemerkungen

Der Alias kann der Name eines Images oder ein Verweis auf eine Containerressourcesein.

Beispiele

Im folgenden Beispiel wird das Ubuntu-Image mit dem Tag 18.04 aus Docker Hub abgerufen und anschließend der Container gestartet. Wenn der befehl printenv ausgeführt wird, erfolgt er innerhalb des Ubuntu:18.04-Containers.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

Container: Image

Geben Sie den Auftragscontainer mit Imagetag und Optionen an.

container:
  image: string # Required. Container image tag.
  endpoint: string # ID of the service endpoint connecting to a private container registry.
  env: # Variables to map into the container's environment.
    string: string # Name/value pairs
  mapDockerSocket: boolean # Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs.
  options: string # Options to pass into container host.
  ports: [ string ] # Ports to expose on the container.
  volumes: [ string ] # Volumes to mount on the container.
  mountReadOnly: # Volumes to mount read-only, the default is all false.
    work: boolean # Mount the work directory as readonly.
    externals: boolean # Mount the externals directory as readonly.
    tools: boolean # Mount the tools directory as readonly.
    tasks: boolean # Mount the tasks directory as readonly.

Eigenschaften

image Zeichenfolge. Erforderlich.
Containerimagetag.

endpoint Zeichenfolge.
ID des Dienstendpunkts, der eine Verbindung mit einer privaten Containerregistrierung herstellt.

env Zeichenfolgenwörterbuch.
Variablen, die in der Umgebung des Containers zugeordnet werden sollen.

mapDockerSocket booleschen.
Legen Sie dieses Kennzeichen auf "false" fest, um zu erzwingen, dass der Agent das Volume "/var/run/docker.sock" für Containeraufträge nicht einrichten kann.

options Zeichenfolge.
Optionen, die an containerhost übergeben werden sollen.

ports Zeichenfolgenliste.
Ports, die für den Container verfügbar gemacht werden sollen.

volumes Zeichenfolgenliste.
Volumes, die auf dem Container bereitgestellt werden sollen.

mountReadOnly mountReadOnly.
Volumes, die schreibgeschützt bereitgestellt werden sollen, ist der Standardwert "false".

Container: Image

Geben Sie den Auftragscontainer mit Imagetag und Optionen an.

container:
  image: string # Required. Container image tag.
  endpoint: string # ID of the service endpoint connecting to a private container registry.
  env: # Variables to map into the container's environment.
    string: string # Name/value pairs
  mapDockerSocket: boolean # Set this flag to false to force the agent not to setup the /var/run/docker.sock volume on container jobs.
  options: string # Options to pass into container host.
  ports: [ string ] # Ports to expose on the container.
  volumes: [ string ] # Volumes to mount on the container.

Eigenschaften

image Zeichenfolge. Erforderlich.
Containerimagetag.

endpoint Zeichenfolge.
ID des Dienstendpunkts, der eine Verbindung mit einer privaten Containerregistrierung herstellt.

env Zeichenfolgenwörterbuch.
Variablen, die in der Umgebung des Containers zugeordnet werden sollen.

mapDockerSocket booleschen.
Legen Sie dieses Kennzeichen auf "false" fest, um zu erzwingen, dass der Agent das Volume "/var/run/docker.sock" für Containeraufträge nicht einrichten kann.

options Zeichenfolge.
Optionen, die an containerhost übergeben werden sollen.

ports Zeichenfolgenliste.
Ports, die für den Container verfügbar gemacht werden sollen.

volumes Zeichenfolgenliste.
Volumes, die auf dem Container bereitgestellt werden sollen.

Beispiele

Verwenden Sie options zum Konfigurieren des Containerstarts.

container:
  image: ubuntu:18.04
  options: --hostname container-test --ip 192.168.0.1

steps:
- script: echo hello

Im folgenden Beispiel werden die Container im Ressourcenabschnitt definiert. Auf jeden Container wird später verwiesen, indem er auf den zugewiesenen Alias verweist.

resources:
  containers:
  - container: u14
    image: ubuntu:14.04

  - container: u16
    image: ubuntu:16.04

  - container: u18
    image: ubuntu:18.04

jobs:
- job: RunInContainer
  pool:
    vmImage: 'ubuntu-18.04'

  strategy:
    matrix:
      ubuntu14:
        containerResource: u14
      ubuntu16:
        containerResource: u16
      ubuntu18:
        containerResource: u18

  container: $[ variables['containerResource'] ]

  steps:
  - script: printenv

Siehe auch