다음을 통해 공유


환경에서 VM 리소스 관리

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure Pipelines 환경 은 파이프라인의 배포를 대상으로 지정할 수 있는 리소스 그룹입니다. 일반적인 환경에는 개발, 테스트 또는 프로덕션이 포함됩니다.

환경에 물리적 또는 가상 머신(VM) 리소스를 추가하려면 컴퓨터에 에이전트를 설치합니다. 그런 다음 환경의 배포 기록은 각 컴퓨터의 추적 가능성을 제공합니다. 이 문서에서는 환경을 정의하고 사용하여 VM 또는 서버 리소스에서 배포를 관리하는 방법을 설명합니다.

참고

Azure DevOps 환경은 YAML 파이프라인에만 사용할 수 있습니다. 클래식 파이프라인의 경우 배포 그룹은 비슷한 기능을 제공합니다.

필수 조건

이 문서의 절차를 수행하려면 다음 필수 구성 요소가 필요합니다.

환경 만들기 및 VM 추가

환경에 VM 또는 물리적 컴퓨터를 추가하려면 다음 절차를 따르세요.

VM 리소스를 사용하여 환경 만들기

  1. Azure DevOps 프로젝트에서 파이프라인이동한 다음, 환경 또는 새 환경> 만들기를 선택합니다.

  2. 새 환경 화면에서 이름 및 선택적 설명을 입력합니다.

  3. 리소스에서 가상 머신을 선택한 다음, 다음을 선택합니다.

    환경 추가를 보여 주는 스크린샷

등록 스크립트 복사

VM 리소스에 대한 에이전트 스크립트는 자체 호스팅 에이전트에 대한 스크립트와 같으며 동일한 명령을 사용합니다. 스크립트에는 로그인한 사용자에 대한 Azure DevOps PAT(Personal Access Token)가 포함되며 스크립트가 생성된 후 3시간 후에 만료됩니다. 에이전트를 설치하기 위해서만 PAT가 필요합니다.

참고

배포 그룹 에이전트를 구성하거나 VM 환경 리소스를 등록할 때 오류가 발생하는 경우 사용자 설정개인 액세스 토큰의 >으로 PAT 액세스 범위를 설정해 봅니다.

  1. 가상 머신 리소스 화면에서 운영 체제에서 Linux를 선택합니다.

  2. Linux 등록 스크립트를 복사하려면 아이콘을 선택합니다.

    Linux 가상 머신 추가를 보여 주는 스크린샷

이 스크립트는 환경에 추가된 모든 Linux VM에 대해 동일합니다. 에이전트 스크립트 설치에 대한 자세한 내용은 자체 호스팅 Linux 에이전트를 참조 하세요.

VM에서 복사한 등록 스크립트 실행

  1. 닫기를 선택합니다. 새 환경이 만들어집니다. 스크립트를 다시 복사하려면(예: PAT가 만료되는 경우) 환경 페이지에서 리소스 추가 를 다시 선택합니다.

    생성된 새 환경 메시지의 스크린샷.

  2. 환경에 등록하려는 각 대상 VM에서 복사된 스크립트를 실행합니다.

    참고

    VM에 이미 다른 에이전트가 실행 중인 경우 환경에 등록할 새 agent 에이전트의 고유한 이름을 제공합니다.

  3. VM이 등록되면 Azure Pipelines 환경 페이지의 리소스 탭에 표시되는지 확인합니다.

    리소스 탭의 스크린샷.

YAML 파이프라인에서 환경을 사용하기

해당 환경을 참조하여 YAML 배포 작업의 VM 리소스를 대상으로 지정할 수 있습니다. YAML 배포 작업에 대한 자세한 내용은 YAML 파이프라인 스키마 참조배포 작업jobs.deployment 정의를 참조하세요.

다음 파이프라인 배포 작업은 환경의 VM에서 VMEnv 만 실행됩니다.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VMenv
  environment: VMenv
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

환경 이름에 VM 리소스 이름을 추가하여 환경에서 특정 VM을 대상으로 지정할 수 있습니다. 다음 예제는 RESOURCE-PC 환경의 VMenv라는 VM 리소스에만 배포합니다.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to RESOURCE-PC in VMenv
  environment: VMenv.RESOURCE-PC  # only deploy to the VM resource named RESOURCE-PC
  strategy:
     runOnce:
        deploy:   
          steps:
            - script: echo "Hello world"

작업-배포 환경 키워드의 전체 구문을 사용하고 특정 환경 VM에 나열하여 배포할 수도 있습니다resourceName.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to RESOURCE-PC in VMenv with full syntax
  environment: 
    name: VMenv
    resourceType: virtualMachine
    resourceName: RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

참고

  • resourceType값과 같은 virtualMachine는 대/소문자를 구분합니다. 대/소문자를 잘못 지정하면 일치하는 리소스를 찾을 수 없습니다.
  • 스테이지를 다시 시도하면 실패한 대상뿐만 아니라 지정된 모든 VM에서 배포가 다시 실행됩니다.

배포 전략

배포 작업에서 배포 strategy 를 적용하여 애플리케이션을 롤아웃하는 방법을 정의합니다. VM은 runOnce 전략과 rolling 전략을 모두 지원합니다. 배포 전략 및 수명 주기 후크에 대한 자세한 내용은 배포 전략을 참조하세요.

Permissions

환경을 사용하는 파이프라인을 처음 실행할 때 에이전트 풀 및 환경에 액세스하려면 파이프라인의 모든 실행에 대한 권한을 부여해야 합니다. 파이프라인 실행 요약 화면에서 작업 옆에 있는 대기 기호를 선택한 다음[ 허용]을 선택하여 필요한 권한을 부여합니다.

태그 추가 및 관리

태그는 배포를 위해 특정 환경 VM 집합을 대상으로 지정하는 방법입니다. 키워드에서 tags 지정 environment 하면 파이프라인은 태그가 적용된 환경 VM에만 배포됩니다.

VM에 적용할 수 있는 태그 수에는 제한이 없습니다. 태그 이름은 각각 256자로 제한됩니다.

환경의 리소스 탭에서 VM 옆에 있는 추가 작업 아이콘을 선택하여 태그를 적용하거나 제거할 수 있습니다 .

UI에서 VM 태그 설정을 보여 주는 스크린샷

VM에 에이전트 스크립트를 등록할 때 태그를 대화형으로 적용할 수도 있습니다.

대화형 스크립트에서 VM 태그 설정을 보여 주는 스크린샷

여러 태그를 지정하는 경우 파이프라인은 모든 태그를 포함하는 VM에만 배포됩니다. 다음 예제는 windowsprod 태그가 모두 있는 VM만을 대상으로 합니다. 파이프라인은 태그가 하나 또는 전혀 없는 VM에 배포되지 않습니다.

trigger: 
- main

pool: 
   vmImage: ubuntu-latest

jobs:
- deployment: VMDeploy
  displayName: Deploy to VM
  environment: 
    name: VMenv
    resourceType: virtualMachine
    tags: windows,prod # only deploy to VMs with both windows and prod tags
  strategy:
    runOnce:
      deploy:   
          steps:
          - script: echo "Hello world"

배포 기록 보기

커밋 및 작업 항목의 완전한 추적 가능성과 환경 및 리소스당 파이프라인 간 배포 기록을 보려면 환경 페이지의 배포 탭을 선택합니다.

VM 배포 보기를 보여 주는 스크린샷

환경에서 VM 제거

Linux 환경에서 VM을 제거하려면 컴퓨터에서 다음 명령을 실행합니다.

./config.sh remove