jobs.job.container 정의
컨테이너 작업을 사용하면 에이전트 호스트 대신 컨테이너에서 작업을 실행할 수 있습니다.
이 정의를 참조하는 정의: pipeline, jobs.job, jobs.deployment
구현
구현 | 설명 |
---|---|
container: string | 별칭으로 작업 컨테이너를 지정합니다. |
container: image | 이미지 태그 및 옵션을 사용하여 작업 컨테이너를 지정합니다. |
container: string
별칭으로 작업 컨테이너를 지정합니다.
container: string # Specify job container by alias.
container
문자열.
별칭으로 작업 컨테이너를 지정합니다.
설명
별칭은 이미지의 이름이거나 컨테이너 리소스에 대한 참조일 수 있습니다.
예제
다음 예제에서는 Docker Hub 18.04 태그가 지정된 ubuntu 이미지를 가져온 다음 컨테이너를 시작합니다. 명령이 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
문자열.
프라이빗 컨테이너 레지스트리에 연결하는 서비스 엔드포인트의 ID입니다.
env
문자열 사전입니다.
컨테이너의 환경에 매핑할 변수입니다.
mapDockerSocket
boolean입니다.
에이전트가 컨테이너 작업에서 /var/run/docker.sock 볼륨을 설정하지 않도록 하려면 이 플래그를 false로 설정합니다.
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
문자열.
프라이빗 컨테이너 레지스트리에 연결하는 서비스 엔드포인트의 ID입니다.
env
문자열 사전입니다.
컨테이너의 환경에 매핑할 변수입니다.
mapDockerSocket
boolean입니다.
에이전트가 컨테이너 작업에서 /var/run/docker.sock 볼륨을 설정하지 않도록 하려면 이 플래그를 false로 설정합니다.
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
문자열.
프라이빗 컨테이너 레지스트리에 연결하는 서비스 엔드포인트의 ID입니다.
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