다음을 통해 공유


AzureVmssDeployment@0 - Azure VM 확장 집합 배포 v0 작업

이 작업은 Virtual Machine 확장 집합 이미지를 배포합니다.

Syntax

# Azure VM scale set deployment v0
# Deploy a virtual machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.
# Azure VM scale set Deployment v0
# Deploy Virtual Machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.

입력

azureSubscription - Azure 구독
입력 별칭: ConnectedServiceName. string. 필수 요소.

확장 집합에 대한 Azure Resource Manager 구독을 지정합니다.


action - 작업
string. 필수 요소. 허용되는 값: Update image (이미지를 사용하여 VM 확장 집합 업데이트), Configure application startup (VM 확장 집합에서 사용자 지정 스크립트 VM 확장 실행). 기본값은 Update image입니다.

VHD 이미지를 사용하거나 사용자 지정 스크립트 VM 확장을 사용하여 배포/설치 스크립트를 실행하여 선택한 메서드로 VM 확장 집합을 업데이트.

VHD 이미지 접근 방식은 빠르게 스케일링하고 롤백하는 데 더 적합합니다. 사용자 지정 이미지를 사용하여 VM 확장 집합을 만들 때 VHD 이미지로 업데이트할 수 있습니다. Azure에서 사용할 수 있는 플랫폼/갤러리 이미지를 사용하여 VM 확장 집합을 만든 경우 업데이트가 실패합니다.

사용자 지정 스크립트 VM 확장 접근 방식은 배포 후 구성, 소프트웨어 설치 또는 기타 구성/관리 작업에 유용합니다. 사용자 지정 스크립트 VM 확장 접근 방식은 사용자 지정 이미지 또는 플랫폼/갤러리 이미지를 사용하여 만든 VM 확장 집합에 사용할 수 있습니다.


vmssName - Virtual Machine 확장 집합 이름
string. 필수 요소.

업데이트할 VM 크기 조정 설정의 이름을 지정합니다. VHD 이미지 또는 사용자 지정 스크립트 VM 확장을 사용합니다.


vmssOsType - OS 유형
string. 필수 요소. 허용되는 값: Windows, Linux.

VM 확장 집합의 운영 체제 유형을 지정합니다.


imageUrl - 이미지 URL
string. 필요한 경우 action = Update image || action = UpdateImage입니다.

VHD 이미지의 URL을 지정합니다. Azure Storage Blob URL인 경우 스토리지 계정 위치는 확장 집합 위치와 동일합니다.


customScriptsDirectory - 사용자 지정 스크립트 디렉터리
string. 선택 사항입니다. 을 사용할 때 action = Configure application startup || action = Update image || action = UpdateImage사용합니다.

선택 사항입니다. 사용자 지정 스크립트 VM 확장을 사용하여 실행되는 사용자 지정 스크립트를 포함하는 디렉터리의 경로입니다. 확장 방법은 배포 후 구성, 애플리케이션/소프트웨어 설치 또는 기타 애플리케이션 구성/관리 작업에 유용합니다. 예를 들어 스크립트는 데이터베이스 연결 문자열과 같이 애플리케이션에서 사용하는 컴퓨터 수준 환경 변수를 설정할 수 있습니다.


customScript - 명령
string. 선택 사항입니다. 을 사용할 때 action = Configure application startup || action = Update image || action = UpdateImage사용합니다.

선택 사항입니다. 사용자 지정 스크립트 VM 확장을 사용하여 실행되는 스크립트입니다. 이 스크립트는 디렉터리에서 다른 스크립트를 호출할 수 있으며 아래에 전달된 인수를 사용하여 호출됩니다.
이러한 인수와 함께 이 스크립트를 사용하여 명령을 실행할 수 있습니다.

예를 들면 다음과 같습니다.

  1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)는 웹 애플리케이션의 연결 문자열 web.config 업데이트합니다.
  2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey 는 서비스 주체 키를 포함하는 암호화된 파일을 만듭니다.

customScriptArguments - 인수
string. 선택 사항입니다. 을 사용할 때 action = Configure application startup || action = Update image || action = UpdateImage사용합니다.

선택 사항입니다. 사용자 지정 스크립트는 전달된 인수를 사용하여 호출됩니다. 빌드/릴리스 변수를 사용하면 비밀을 쉽게 사용할 수 있습니다.


customScriptsStorageAccount - 사용자 지정 스크립트가 업로드되는 Azure Storage 계정
string. 선택 사항입니다. 을 사용할 때 action = Configure application startup || action = Update image || action = UpdateImage사용합니다.

선택 사항입니다. 사용자 지정 스크립트 확장은 VM 확장 집합의 각 가상 머신에서 제공된 스크립트를 다운로드하고 실행합니다. 이러한 스크립트는 여기에 지정된 기존 ARM 스토리지 계정에 저장됩니다.


skipArchivingCustomScripts - 사용자 지정 스크립트 보관 건너뛰기
boolean. 기본값은 false입니다.

선택 사항입니다. 기본적으로 이 작업은 사용자 지정 스크립트를 포함하는 디렉터리의 압축된 보관 파일을 만듭니다. 이렇게 하면 Azure Storage에 업로드하는 동안 성능과 안정성이 향상됩니다. 선택하지 않으면 보관이 수행되지 않으며 모든 파일이 개별적으로 업로드됩니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

이 작업을 사용하여 Virtual Machine 확장 집합 이미지를 배포합니다.

스크립트 실행이 성공한 것으로 보고되지만 VMSS 인스턴스는 업데이트되지 않습니다.

확장 집합에는 최신 확장 집합 모델을 사용하여 VM을 최신 상태로 만드는 방법을 결정하는 업그레이드 정책이 있으며 업그레이드 정책이 수동으로 설정된 경우 각 VM을 수동으로 업그레이드해야 합니다. 자세한 내용은 최신 확장 집합 모델을 사용하여 VM을 최신 상태로 설정하는 방법을 참조하세요. 업데이트 정책을 변경하거나 각 VM을 수동으로 업그레이드할 수 있습니다. 예를 들어 정책을 Automatic로 업그레이드하려면 다음 Az CLI 명령을 사용합니다. az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>

오류: '사용 권한이 거부됨: 스크립트가 실행 가능하지 않습니다.'

이 문제는 사용자 지정 스크립트를 실행하려고 하지만 스크립트가 실행 가능하지 않은 경우에 발생합니다.

문제를 resolve 먼저 입력에 스크립트 이름 'test.sh'앞에 또는 다른 항목이 없는지 ./ 확인 customScript 합니다.

    customScript: 'test.sh'

다음으로, 가상 머신 확장 집합 작업 전에 명령줄 작업을 추가해 봅니다.

    - task: CmdLine@2
      inputs:
        script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh' 

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.0.0 이상
작업 범주 배포