다음을 통해 공유


대상 정의

태스크는 에이전트 호스트 또는 컨테이너인 실행 컨텍스트에서 실행됩니다.

이 정의를 참조하는 정의: steps.task, steps.script, steps.powershell, steps.pwsh, steps.bash, 단계 .checkout, steps.download, steps.downloadBuild, steps.getPackage, steps.publish, steps.reviewApp

구현

이행 설명
대상: 문자열 이 단계 또는 작업을 실행할 환경입니다.
대상: 컨테이너, 명령, settableVariables 환경 및 허용된 명령 및 변수 목록을 사용하여 단계 대상을 구성합니다.
이행 설명
대상: 문자열 이 단계 또는 작업을 실행할 환경입니다.
대상: 컨테이너, 명령 환경 및 허용된 명령 목록을 사용하여 단계 대상을 구성합니다.

비고

개별 단계는 target지정하여 컨텍스트를 재정의하고 필요에 따라 컨테이너, 명령 및 설정 가능한 변수를 구성할 수 있습니다.

target: string

이름별로 단계 대상을 지정합니다.

target: string # Environment in which to run this step or task.

target 문자열입니다.

사용 가능한 옵션은 에이전트 호스트를 대상으로 하는 단어 host 와 파이프라인에 정의된 모든 컨테이너입니다.

target: container, commands, settableVariables

컨테이너 이름, 명령 및 설정 가능한 변수를 사용하여 단계 대상을 구성합니다.

target:
  container: string # Container to target (or 'host' for host machine).
  commands: any | restricted # Set of allowed logging commands ('any' or 'restricted').
  settableVariables: none | [ string ] # Restrictions on which variables that can be set.

속성

container 문자열입니다.
대상으로 지정할 컨테이너(또는 호스트 컴퓨터의 경우 '호스트')를 .

commands 문자열입니다.
허용된 로깅 명령 집합('any' 또는 'restricted')입니다. any | 제한.

target.settableVariablessettableVariables.
설정할 수 있는 변수에 대한 제한 사항입니다.

target: 컨테이너, 명령

환경 및 허용된 명령 목록을 사용하여 단계 대상을 구성합니다.

target:
  container: string # Container to target (or 'host' for host machine).
  commands: any | restricted # Set of allowed logging commands ('any' or 'restricted').

속성

container 문자열입니다.
대상으로 지정할 컨테이너(또는 호스트 컴퓨터의 경우 '호스트')를 .

commands 문자열입니다.
허용된 로깅 명령 집합('any' 또는 'restricted')입니다. any | 제한.

비고

단계 대상을 구성할 때 이러한 속성을 모두 구성할 필요는 없습니다. 지정하지 않으면 container 기본값은 host, commands 기본값은 any, settableVariables 기본값을 사용하면 모든 변수를 한 단계씩 설정할 수 있습니다.

단계 대상 지정 및 명령 격리

Azure Pipelines는 컨테이너 또는 에이전트 호스트에서 실행 작업을 지원합니다. 이전에는 전체 작업이 두 대상 중 하나로 설정되었습니다. 이제 선택한 대상에서 개별 단계(작업 또는 스크립트)를 실행할 수 있습니다. 단계는 다른 컨테이너를 대상으로 할 수도 있으므로 파이프라인은 특수하고 용도가 지정된 컨테이너에서 각 단계를 실행할 수 있습니다.

비고

이 기능은 공개 미리 보기로 제공됩니다. 이 기능에 대한 피드백이나 질문이 있는 경우 개발자 커뮤니티알려주세요.

컨테이너는 격리 경계 역할을 하여 코드가 호스트 머신에서 예기치 않은 변경을 수행하지 못하도록 할 수 있습니다. 에이전트 의 서비스와 통신하고 액세스하는 방식인 단계는 컨테이너에서 단계를 격리하는 것에 의해 영향을 받지 않습니다. 따라서 단계 대상과 함께 사용할 수 있는 명령 제한 모드도 도입되었습니다. commands restricted 설정하면 단계가 에이전트에서 요청할 수 있는 서비스가 제한됩니다. 더 이상 로그를 연결하고 아티팩트 및 특정 다른 작업을 업로드할 수 없습니다.

예시

다음 예제에서는 작업 컨테이너 및 다른 컨테이너의 호스트에서 실행 중인 단계를 보여 있습니다.

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

참고하십시오