definição jobs.job.container

Os trabalhos de contêiner permitem que você execute trabalhos em um contêiner em vez do host do agente.

Definições que fazem referência a essa definição: pipeline, jobs.job, jobs.deployment

Definições que fazem referência a essa definição: pipeline, jobs.job

Implementações

Implementação Descrição
contêiner: cadeia de caracteres Especifique o contêiner de trabalho por alias.
contêiner: imagem Especifique o contêiner de trabalho usando opções e marca de imagem.

contêiner: cadeia de caracteres

Especifique o contêiner de trabalho por alias.

container: string # Specify job container by alias.

container String.

Especifique o contêiner de trabalho por alias.

Comentários

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

Exemplos

O exemplo a seguir busca a imagem do ubuntu marcada como 18.04 de Docker Hub e, em seguida, inicia o contêiner. Quando o printenv comando é executado, ele ocorre dentro do contêiner ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

contêiner: imagem

Especifique o contêiner de trabalho usando opções e marca de imagem.

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 String. Obrigatórios.
Marca de imagem de contêiner.

endpoint String.
ID do ponto de extremidade de serviço que se conecta a um registro de contêiner privado.

env dicionário de cadeia de caracteres.
Variáveis a serem mapeadas para o ambiente do contêiner.

mapDockerSocketbooliano.
Defina esse sinalizador como false para forçar o agente a não configurar o volume /var/run/docker.sock em trabalhos de contêiner.

options String.
Opções para passar para o host de contêiner.

ports lista de cadeias de caracteres.
Portas a serem expostas no contêiner.

volumes lista de cadeias de caracteres.
Volumes a serem montados no contêiner.

mountReadOnlymountReadOnly.
Volumes para montar somente leitura, o padrão é tudo false.

contêiner: imagem

Especifique o contêiner de trabalho usando opções e marca de imagem.

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 String. Obrigatórios.
Marca de imagem de contêiner.

endpoint String.
ID do ponto de extremidade de serviço que se conecta a um registro de contêiner privado.

env dicionário de cadeia de caracteres.
Variáveis a serem mapeadas para o ambiente do contêiner.

mapDockerSocketbooliano.
Defina esse sinalizador como false para forçar o agente a não configurar o volume /var/run/docker.sock em trabalhos de contêiner.

options String.
Opções para passar para o host de contêiner.

ports lista de cadeias de caracteres.
Portas a serem expostas no contêiner.

volumes lista de cadeias de caracteres.
Volumes a serem montados no contêiner.

contêiner: imagem

Especifique o contêiner de trabalho usando opções e marca de imagem.

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 String. Obrigatórios.
Marca de imagem de contêiner.

endpoint String.
ID do ponto de extremidade de serviço que se conecta a um registro de contêiner privado.

env dicionário de cadeia de caracteres.
Variáveis a serem mapeadas para o ambiente do contêiner.

options String.
Opções para passar para o host de contêiner.

ports lista de cadeias de caracteres.
Portas a serem expostas no contêiner.

volumes lista de cadeias de caracteres.
Volumes a serem montados no contêiner.

Exemplos

Use options para configurar a inicialização do contêiner.

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

steps:
- script: echo hello

No exemplo a seguir, os contêineres são definidos na seção de recursos. Cada contêiner é referenciado posteriormente, referindo-se ao 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

Confira também