대상 정의
태스크는 에이전트 호스트 또는 컨테이너인 실행 컨텍스트에서 실행됩니다.
이 정의를 참조하는 정의: steps.task, steps.script, steps.powershell, steps.pwsh, steps.bash, steps.checkout, steps.download, steps.downloadBuild, steps.getPackage, steps.publish, steps.reviewApp
구현
구현 | 설명 |
---|---|
target: string | 이 단계 또는 작업을 실행할 환경입니다. |
target: container, commands, settableVariables | 환경 및 허용된 명령 및 변수 목록을 사용하여 단계 대상을 구성합니다. |
구현 | 설명 |
---|---|
target: string | 이 단계 또는 작업을 실행할 환경입니다. |
target: 컨테이너, 명령 | 환경 및 허용된 명령 목록을 사용하여 단계 대상을 구성합니다. |
설명
개별 단계는 를 지정하여 컨텍스트를 재정의하고 target
필요에 따라 컨테이너, 명령 및 설정 가능한 변수를 구성할 수 있습니다.
target: string
이름으로 단계 대상을 지정합니다.
target: string # Environment in which to run this step or task.
target
문자열.
사용 가능한 옵션은 에이전트 호스트를 대상으로 하는 단어 host
와 파이프라인에 정의된 컨테이너입니다.
target: container, commands, settableVariables
컨테이너 이름, 명령 및 settable 변수를 사용하여 단계 대상을 구성합니다.
target:
container: string # Container to target (or 'host' for host machine).
commands: string # Set of allowed logging commands ('any' or 'restricted').
settableVariables: none | [ string ] # Restrictions on which variables that can be set.
속성
container
문자열.
대상 컨테이너(또는 호스트 컴퓨터의 경우 '호스트')입니다.
commands
문자열.
허용되는 로깅 명령 집합('any' 또는 'restricted')입니다. any | 제한.
settableVariables
target.settableVariables.
설정할 수 있는 변수에 대한 제한 사항입니다.
target: 컨테이너, 명령
환경 및 허용된 명령 목록을 사용하여 단계 대상을 구성합니다.
target:
container: string # Container to target (or 'host' for host machine).
commands: string # Set of allowed logging commands ('any' or 'restricted').
속성
container
문자열.
대상 컨테이너(또는 호스트 컴퓨터의 경우 '호스트')입니다.
commands
문자열.
허용되는 로깅 명령 집합('any' 또는 'restricted')입니다. any | 제한.
설명
단계 대상을 구성할 때 이러한 속성을 모두 구성할 필요는 없습니다. 지정하지 않으면 의 기본값 container
은 이 host
고, 기본값 commands
은 이 any
고, 의 settableVariables
기본값은 모든 변수를 한 단계씩 설정할 수 있도록 합니다.
단계 대상 지정 및 명령 격리
Azure Pipelines는 컨테이너 또는 에이전트 호스트에서 실행 중인 작업을 지원합니다. 이전에는 전체 작업이 두 대상 중 하나로 설정되었습니다. 이제 선택한 대상에서 개별 단계(작업 또는 스크립트)를 실행할 수 있습니다. 단계는 다른 컨테이너를 대상으로 할 수도 있으므로 파이프라인은 특수화된 용도로 빌드된 컨테이너에서 각 단계를 실행할 수 있습니다.
참고
이 기능은 공개 미리 보기 상태입니다. 이 기능에 대한 피드백이나 질문이 있는 경우 Developer Community 알려주세요.
컨테이너는 격리 경계 역할을 하여 코드가 호스트 머신에서 예기치 않게 변경되지 않도록 할 수 있습니다. 단계 가 에이전트에서 서비스와 통신하고 액세스 하는 방식은 컨테이너의 단계를 격리하여 영향을 받지 않습니다. 따라서 단계 대상과 함께 사용할 수 있는 명령 제한 모드도 도입되었습니다. 를 로 restricted
설정 commands
하면 단계가 에이전트에서 요청할 수 있는 서비스가 제한됩니다. 더 이상 로그를 연결하고 아티팩트 및 특정 다른 작업을 업로드할 수 없습니다.
예제
다음 예제에서는 작업 컨테이너의 호스트 및 다른 컨테이너에서 실행 중인 단계를 보여 줍니다.
resources:
containers:
- container: python
image: python:3.8
- container: node
image: node:13.2
jobs:
- job: example
container: python
steps:
- script: echo Running in the job container
- script: echo Running on the host
target: host
- script: echo Running in another container, in restricted commands mode
target:
container: node
commands: restricted