Поделиться через


Определение jobs.job.container

Задания контейнеров позволяют выполнять задания в контейнере, а не на узле агента.

Определения, ссылающиеся на это определение: pipeline, jobs.job, jobs.deployment

Определения, ссылающиеся на это определение: pipeline, jobs.job

Варианты реализации решения

Реализация Описание
container: string Укажите контейнер заданий по псевдониму.
container: image Укажите контейнер заданий с помощью тега образа и параметров.

container: string

Укажите контейнер заданий по псевдониму.

container: string # Specify job container by alias.

container Строка.

Укажите контейнер заданий по псевдониму.

Комментарии

Псевдоним может быть именем образа или ссылкой на ресурс контейнера.

Примеры

В следующем примере извлекается образ Ubuntu с тегом 18.04 из Docker Hub, а затем запускается контейнер. printenv Команда выполняется внутри контейнера ubuntu:18.04.

pool:
  vmImage: 'ubuntu-18.04'

container: ubuntu:18.04

steps:
- script: printenv

container: image

Укажите контейнер заданий с помощью тега образа и параметров.

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.

Свойства

image Строка. Обязательный.
Тег образа контейнера.

endpoint Строка.
Идентификатор конечной точки службы, подключающейся к частному реестру контейнеров.

env словарь строк.
Переменные для сопоставления со средой контейнера.

mapDockerSocketлогическое значение.
Установите для этого флага значение false, чтобы агент не устанавливал том /var/run/docker.sock в заданиях контейнера.

options Строка.
Параметры для передачи в узел контейнера.

ports список строк.
Порты для предоставления в контейнере.

volumes список строк.
Тома для подключения к контейнеру.

mountReadOnlymountReadOnly.
Тома для подключения только для чтения, значение по умолчанию — false.

container: image

Укажите контейнер заданий с помощью тега образа и параметров.

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.

Свойства

image Строка. Обязательный.
Тег образа контейнера.

endpoint Строка.
Идентификатор конечной точки службы, подключающейся к частному реестру контейнеров.

env словарь строк.
Переменные для сопоставления со средой контейнера.

mapDockerSocketлогическое значение.
Установите для этого флага значение false, чтобы агент не устанавливал том /var/run/docker.sock в заданиях контейнера.

options Строка.
Параметры для передачи в узел контейнера.

ports список строк.
Порты для предоставления в контейнере.

volumes список строк.
Тома для подключения к контейнеру.

container: image

Укажите контейнер заданий с помощью тега образа и параметров.

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.

Свойства

image Строка. Обязательный.
Тег образа контейнера.

endpoint Строка.
Идентификатор конечной точки службы, подключающейся к частному реестру контейнеров.

env словарь строк.
Переменные для сопоставления со средой контейнера.

options Строка.
Параметры для передачи в узел контейнера.

ports список строк.
Порты для предоставления в контейнере.

volumes список строк.
Тома для подключения к контейнеру.

Примеры

Используйте options для настройки запуска контейнера.

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

steps:
- script: echo hello

В следующем примере контейнеры определяются в разделе ресурсов. Затем на каждый контейнер ссылается позже, ссылаясь на назначенный ему псевдоним.

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

См. также раздел