Определение jobs.job.container
Задания контейнеров позволяют выполнять задания в контейнере, а не на узле агента.
Определения, ссылающиеся на это определение: pipeline, jobs.job, jobs.deployment
Варианты реализации решения
Реализация | Описание |
---|---|
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
список строк.
Тома для подключения к контейнеру.
mountReadOnly
mountReadOnly.
Тома для подключения только для чтения, значение по умолчанию — 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