Dela via


jobs.job.container definition

Med containerjobb kan du köra jobb på en container i stället för agentvärden.

Definitioner som refererar till den här definitionen: pipeline, jobs.job, jobs.deployment

Implementeringar

Genomförande Beskrivning
container: sträng Ange jobbcontainer efter alias.
container: Ange jobbcontainer med avbildningstagg och alternativ.

container: sträng

Ange jobbcontainer efter alias.

container: string # Specify job container by alias.

container sträng.

Ange jobbcontainer efter alias.

Anmärkningar

Aliaset kan vara namnet på en avbildning eller en referens till en containerresurs.

Exempel

I följande exempel hämtas ubuntu-avbildningen med taggen 18.04 från Docker Hub- och startar sedan containern. När kommandot printenv körs sker det i containern ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

container: image

Ange jobbcontainer med avbildningstagg och alternativ.

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.

Egenskaper

image sträng. Obligatoriskt.
tagg för containeravbildning.

endpoint sträng.
ID för tjänstslutpunkten som ansluter till ett privat containerregister.

env strängordlista.
variabler som ska mappas till containerns miljö.

mapDockerSocket boolesk.
Ange den här flaggan till false för att tvinga agenten att inte konfigurera volymen /var/run/docker.sock på containerjobb.

options sträng.
Alternativ för att skicka till containervärden.

ports stränglista.
portar som ska exponeras i containern.

volumes stränglista.
Volymer som ska monteras på containern.

mountReadOnly mountReadOnly.
Volymer för att montera skrivskyddad är standardvärdet falskt.

container: image

Ange jobbcontainer med avbildningstagg och alternativ.

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.

Egenskaper

image sträng. Obligatoriskt.
tagg för containeravbildning.

endpoint sträng.
ID för tjänstslutpunkten som ansluter till ett privat containerregister.

env strängordlista.
variabler som ska mappas till containerns miljö.

mapDockerSocket boolesk.
Ange den här flaggan till false för att tvinga agenten att inte konfigurera volymen /var/run/docker.sock på containerjobb.

options sträng.
Alternativ för att skicka till containervärden.

ports stränglista.
portar som ska exponeras i containern.

volumes stränglista.
Volymer som ska monteras på containern.

Exempel

Använd options för att konfigurera start av containrar.

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

steps:
- script: echo hello

I följande exempel definieras containrarna i avsnittet resurser. Varje container refereras sedan senare genom att referera till dess tilldelade alias.

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

Se även