AzureVmssDeployment@0 - Azure VM 확장 집합 배포 v0 작업
이 작업은 Virtual Machine 확장 집합 이미지를 배포합니다.
통사론
# 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.
입력
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 확장을 사용합니다.
OS 유형
string
. 필수. 허용되는 값: Windows
, Linux
.
VM 확장 집합의 운영 체제 유형을 지정합니다.
imageUrl
-
이미지 URL
string
.
action = Update image || action = UpdateImage
때 필요합니다.
VHD 이미지의 URL을 지정합니다. Azure Storage Blob URL인 경우 스토리지 계정 위치는 확장 집합 위치와 동일합니다.
사용자 지정 스크립트 디렉터리
string
. 선택적.
action = Configure application startup || action = Update image || action = UpdateImage
때 사용합니다.
선택적. 사용자 지정 스크립트 VM 확장을 사용하여 실행되는 사용자 지정 스크립트를 포함하는 디렉터리의 경로입니다. 확장 방법은 배포 후 구성, 애플리케이션/소프트웨어 설치 또는 기타 애플리케이션 구성/관리 작업에 유용합니다. 예를 들어 스크립트는 데이터베이스 연결 문자열과 같이 애플리케이션에서 사용하는 컴퓨터 수준 환경 변수를 설정할 수 있습니다.
customScript
-
명령
string
. 선택적.
action = Configure application startup || action = Update image || action = UpdateImage
때 사용합니다.
선택적. 사용자 지정 스크립트 VM 확장을 사용하여 실행되는 스크립트입니다. 이 스크립트는 디렉터리에서 다른 스크립트를 호출할 수 있으며 아래에 전달된 인수를 사용하여 호출됩니다.
이러한 인수와 함께 이 스크립트를 사용하여 명령을 실행할 수 있습니다.
예를 들어:
-
Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)
웹 애플리케이션의web.config
연결 문자열을 업데이트합니다. -
install-secrets.sh --key-vault-type prod -key serviceprincipalkey
서비스 주체 키를 포함하는 암호화된 파일을 만듭니다.
customScriptArguments
-
인수
string
. 선택적.
action = Configure application startup || action = Update image || action = UpdateImage
때 사용합니다.
선택적. 사용자 지정 스크립트는 전달된 인수를 사용하여 호출됩니다. 빌드/릴리스 변수를 사용하면 비밀을 쉽게 사용할 수 있습니다.
사용자 지정 스크립트가 업로드되는 Azure Storage 계정
string
. 선택적.
action = Configure application startup || action = Update image || action = UpdateImage
때 사용합니다.
선택적. 사용자 지정 스크립트 확장은 VM 확장 집합의 각 가상 머신에서 제공된 스크립트를 다운로드하고 실행합니다. 이러한 스크립트는 여기에 지정된 기존 ARM 스토리지 계정에 저장됩니다.
사용자 지정 스크립트 보관 건너뛰기
boolean
. 기본값: false
.
선택적. 기본적으로 이 작업은 사용자 지정 스크립트를 포함하는 디렉터리의 압축된 보관 파일을 만듭니다. 이렇게 하면 Azure Storage에 업로드하는 동안 성능 및 안정성이 향상됩니다. 선택하지 않으면 보관이 수행되지 않으며 모든 파일이 개별적으로 업로드됩니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.
출력 변수
없음.
발언
이 작업을 사용하여 Virtual Machine 확장 집합 이미지를 배포합니다.
스크립트 실행은 성공한 것으로 보고되지만 VMSS 인스턴스는 업데이트되지 않습니다.
확장 집합에는 최신 확장 집합 모델을 사용하여 VM을 up-to가져오는 방법을 결정하는 업그레이드 정책이 있으며 업그레이드 정책이 수동으로 설정된 경우 각 VM을 수동으로 업그레이드해야 합니다. 자세한 내용은 최신 확장 집합 모델VM을 up-to-date로 가져오는 방법을 참조하세요. 업데이트 정책을 변경하거나 각 VM을 수동으로 업그레이드할 수 있습니다. 예를 들어 정책을 Automatic
업그레이드하려면 다음 Az CLI 명령을 사용합니다. az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>
오류: '사용 권한이 거부됨: 스크립트가 실행 가능하지 않습니다.'
이 문제는 사용자 지정 스크립트를 실행하려고 하지만 스크립트가 실행 가능하지 않은 경우에 발생합니다.
이 문제를 해결하려면 먼저 스크립트 이름이 customScript
전에 ./
입력에 'test.sh'
또는 다른 항목이 없는지 확인합니다.
customScript: 'test.sh'
다음으로, 가상 머신 확장 집합 작업 전에 명령줄 작업을 추가해 봅니다.
- task: CmdLine@2
inputs:
script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh'