definição jobs.job.container

As tarefas de contentor permitem-lhe executar tarefas num contentor em vez do anfitrião do agente.

Definições que referenciam esta definição: pipeline, jobs.job, jobs.deployment

Definições que referenciam esta definição: pipeline, jobs.job

Implementações

Implementação Descrição
contentor: cadeia Especifique o contentor da tarefa por alias.
contentor: imagem Especifique o contentor de tarefas com a etiqueta de imagem e as opções.

contentor: cadeia

Especifique o contentor da tarefa por alias.

container: string # Specify job container by alias.

container cadeia.

Especifique o contentor da tarefa por alias.

Observações

O alias pode ser o nome de uma imagem ou pode ser uma referência a um recurso de contentor.

Exemplos

O exemplo seguinte obtém a imagem ubuntu com a etiqueta 18.04 de Docker Hub e, em seguida, inicia o contentor. Quando o printenv comando é executado, ocorre dentro do contentor ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

contentor: imagem

Especifique o contentor de tarefas com a etiqueta de imagem e as opções.

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.

Propriedades

image cadeia. Obrigatório.
Etiqueta de imagem de contentor.

endpoint cadeia.
ID do ponto final de serviço a ligar a um registo de contentor privado.

env dicionário de cadeia.
Variáveis a mapear para o ambiente do contentor.

mapDockerSocketbooleano.
Defina este sinalizador como falso para forçar o agente a não configurar o volume /var/run/docker.sock nas tarefas de contentor.

options cadeia.
Opções para passar para o anfitrião do contentor.

ports lista de cadeias de carateres.
Portas a expor no contentor.

volumes lista de cadeias de carateres.
Volumes a montar no contentor.

mountReadOnlymountReadOnly.
Volumes para montar só de leitura, a predefinição é tudo falso.

contentor: imagem

Especifique o contentor de tarefas com a etiqueta de imagem e as opções.

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.

Propriedades

image cadeia. Obrigatório.
Etiqueta de imagem de contentor.

endpoint cadeia.
ID do ponto final de serviço a ligar a um registo de contentor privado.

env dicionário de cadeia.
Variáveis a mapear para o ambiente do contentor.

mapDockerSocketbooleano.
Defina este sinalizador como falso para forçar o agente a não configurar o volume /var/run/docker.sock nas tarefas de contentor.

options cadeia.
Opções para passar para o anfitrião do contentor.

ports lista de cadeias de carateres.
Portas a expor no contentor.

volumes lista de cadeias de carateres.
Volumes a montar no contentor.

contentor: imagem

Especifique o contentor de tarefas com a etiqueta de imagem e as opções.

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
  options: string # Options to pass into container host.
  ports: [ string ] # Ports to expose on the container.
  volumes: [ string ] # Volumes to mount on the container.

Propriedades

image cadeia. Obrigatório.
Etiqueta de imagem de contentor.

endpoint cadeia.
ID do ponto final de serviço a ligar a um registo de contentor privado.

env dicionário de cadeia.
Variáveis a mapear para o ambiente do contentor.

options cadeia.
Opções para passar para o anfitrião do contentor.

ports lista de cadeias de carateres.
Portas a expor no contentor.

volumes lista de cadeias de carateres.
Volumes a montar no contentor.

Exemplos

Utilize options para configurar o arranque do contentor.

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

steps:
- script: echo hello

No exemplo seguinte, os contentores são definidos na secção recursos. Cada contentor é referenciado mais tarde, ao referir-se ao respetivo alias atribuído.

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

Ver também