AzureResourceGroupDeployment@2 - Azure 리소스 그룹 배포 v2 작업
리소스 그룹에 ARM(Azure Resource Manager) 템플릿을 배포하고 가상 머신을 관리합니다.
ARM(Azure Resource Manager) 템플릿을 리소스 그룹에 배포합니다. 리소스 그룹에서 모든 VM(Virtual Machines)을 시작, 중지, 삭제 및 할당 취소할 수도 있습니다.
Syntax
# Azure resource group deployment v2
# Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
- task: AzureResourceGroupDeployment@2
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
resourceGroupName: # string. Required. Resource group.
#location: # string. Required when action = Create Or Update Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
# Advanced deployment options for virtual machines
#enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
#teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Azure Pipelines service connection.
#teamProject: # string. Alias: project. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Team project.
#deploymentGroupName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Deployment Group.
#copyAzureVMTags: true # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Copy Azure VM tags to agents. Default: true.
#runAgentServiceAsUser: false # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Run agent service as a user. Default: false.
#userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. User name.
#password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. Password.
#outputVariable: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group. VM details for WinRM.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group. Access service principal details in override parameters. Default: false.
#useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# Azure resource group deployment v2
# Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
- task: AzureResourceGroupDeployment@2
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
resourceGroupName: # string. Required. Resource group.
#location: # string. Required when action = Create Or Update Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
# Advanced deployment options for virtual machines
#enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
#teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Azure Pipelines service connection.
#teamProject: # string. Alias: project. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Team project.
#deploymentGroupName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Deployment Group.
#copyAzureVMTags: true # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Copy Azure VM tags to agents. Default: true.
#runAgentServiceAsUser: false # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Run agent service as a user. Default: false.
#userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. User name.
#password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. Password.
#outputVariable: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group. VM details for WinRM.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group. Access service principal details in override parameters. Default: false.
# Azure Resource Group Deployment v2
# Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group.
- task: AzureResourceGroupDeployment@2
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
resourceGroupName: # string. Required. Resource group.
#location: # string. Required when action = Create Or Update Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
# Advanced deployment options for virtual machines
#enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
#teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Azure Pipelines/TFS service connection.
#teamProject: # string. Alias: project. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Team project.
#deploymentGroupName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Deployment Group.
#copyAzureVMTags: true # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Copy Azure VM tags to agents. Default: true.
#runAgentServiceAsUser: false # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Run agent service as a user. Default: false.
#userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. User name.
#password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. Password.
#outputVariable: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group. VM details for WinRM.
# Outputs
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.
입력
azureSubscription
- Azure 구독
입력 별칭: ConnectedServiceName
. string
. 필수 요소.
배포에 대한 Azure 구독이 포함된 서비스 연결을 선택합니다.
action
- 작업
string
. 필수 요소. 허용되는 값: Create Or Update Resource Group
, Select Resource Group
(가상 머신 배포 옵션 구성), Start
(가상 머신 시작), Stop
(가상 머신 중지) StopWithDeallocate
(가상 머신 중지 및 할당 취소), Restart
(가상 머신 다시 시작), Delete
(가상 머신 삭제), DeleteRG
(리소스 그룹 삭제). 기본값은 Create Or Update Resource Group
입니다.
Azure 리소스 또는 리소스 그룹에서 수행할 작업입니다.
resourceGroupName
- 리소스 그룹
string
. 필수 요소.
리소스 그룹의 이름을 제공합니다.
location
- 위치
string
. 필요한 경우 action = Create Or Update Resource Group
입니다.
리소스 그룹을 배포할 위치입니다. 리소스 그룹이 구독에 이미 있는 경우 이 값은 무시됩니다.
templateLocation
- 템플릿 위치
string
. 필요한 경우 action = Create Or Update Resource Group
입니다. 허용되는 값: Linked artifact
, URL of the file
. 기본값은 Linked artifact
입니다.
파일의 연결된 아티팩 트 또는 URL을 선택합니다.
csmFileLink
- 템플릿 링크
string
. 필요한 경우 templateLocation = URL of the file && action = Create Or Update Resource Group
입니다.
템플릿 파일의 URL을 지정합니다. 예제 URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
프라이빗 스토리지 계정에 저장된 템플릿을 배포하려면 템플릿의 URL에 SAS(공유 액세스 서명) 토큰을 검색하여 포함합니다. 예: <blob_storage_url>/template.json?<SAStoken>
템플릿 파일(또는 연결된 템플릿)을 스토리지 계정에 업로드하고 SAS 토큰을 생성하려면 Azure 파일 복사 작업을 사용하거나 PowerShell 또는 Azure CLI를 사용하여 단계를 수행합니다.
그리드에서 템플릿 매개 변수를 보려면 재정의 템플릿 매개 변수 텍스트 상자 옆을 클릭합니다 ...
. 이 기능을 사용하려면 소스에서 CORS 규칙을 사용해야 합니다. 템플릿이 Azure Storage Blob에 있는 경우 CORS를 사용하도록 설정하기 위한 CORS 요청 이해를 참조하세요.
csmParametersFileLink
- 템플릿 매개 변수 링크
string
. 선택 사항입니다. 를 사용하는 경우 templateLocation = URL of the file && action = Create Or Update Resource Group
를 사용합니다.
매개 변수 파일의 URL을 지정합니다. 예: https://raw.githubusercontent.com/Azure/...
프라이빗 스토리지 계정에 저장된 파일을 사용하려면 템플릿의 URL에 SAS(공유 액세스 서명) 토큰을 검색하여 포함합니다. 예: <blob_storage_url>/template.json?<SAStoken>
스토리지 계정에 매개 변수 파일을 업로드하고 SAS 토큰을 생성하려면 Azure 파일 복사 작업을 사용하거나 PowerShell 또는 Azure CLI를 사용하여 단계를 수행할 수 있습니다.
그리드에서 템플릿 매개 변수를 보려면 재정의 템플릿 매개 변수 텍스트 상자 옆을 클릭합니다 ...
. 이 기능을 사용하려면 소스에서 CORS 규칙을 사용해야 합니다. 템플릿이 Azure Storage Blob에 있는 경우 CORS를 사용하도록 설정하기 위한 CORS 요청 이해를 참조하세요.
csmFile
- 템플릿
string
. 필요한 경우 templateLocation = Linked artifact && action = Create Or Update Resource Group
입니다.
Azure Resource Manager 템플릿을 가리키는 경로 또는 패턴을 지정합니다. Azure Resource Manager 템플릿에 대해 자세히 알아봅니다. 즉시 시작하려면 이 샘플 템플릿을 사용합니다.
csmParametersFile
- 템플릿 매개 변수
string
. 선택 사항입니다. 를 사용하는 경우 templateLocation = Linked artifact && action = Create Or Update Resource Group
를 사용합니다.
매개 변수 파일의 URL을 지정합니다. 예제 URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json
프라이빗 스토리지 계정에 저장된 파일을 사용하려면 템플릿의 URL에 SAS(공유 액세스 서명) 토큰을 검색하여 포함합니다. 예: <blob_storage_url>/template.json?<SAStoken>
스토리지 계정에 매개 변수 파일을 업로드하고 SAS 토큰을 생성하려면 Azure 파일 복사 작업을 사용하거나 PowerShell 또는 Azure CLI를 사용하여 단계를 수행합니다.
그리드에서 템플릿 매개 변수를 보려면 재정의 템플릿 매개 변수 텍스트 상자 옆을 클릭합니다 ...
. 이 기능을 사용하려면 소스에서 CORS 규칙을 사용해야 합니다. 템플릿이 Azure Storage Blob에 있는 경우 CORS를 사용하도록 설정하기 위한 CORS 요청 이해를 참조하세요.
overrideParameters
- 템플릿 매개 변수 재정의
string
. 선택 사항입니다. 를 사용하는 경우 action = Create Or Update Resource Group
를 사용합니다.
재정의할 템플릿 매개 변수를 지정합니다.
그리드에서 템플릿 매개 변수를 보려면 재정의 매개 변수 텍스트 상자 옆을 클릭합니다 ...
. 이 기능을 사용하려면 소스에서 CORS 규칙을 사용해야 합니다. 템플릿이 Azure Storage Blob에 있는 경우 이 문자열을 참조하여 CORS를 사용하도록 설정하거나 텍스트 상자에 재정의할 템플릿 매개 변수를 입력합니다.
예: -storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre)
.
매개 변수 값에 여러 단어가 있는 경우 변수를 사용하여 값을 전달하는 경우에도 단어를 따옴표로 묶습니다.
-name "parameter value" -name2 "$(var)"
)을 입력합니다.
개체 형식 매개 변수를 재정의하려면 문자열화된 JSON 개체를 사용합니다.
-options ["option1"] -map {"key1": "value1" }
)을 입력합니다.
deploymentMode
- 배포 모드
string
. 필요한 경우 action = Create Or Update Resource Group
입니다. 허용되는 값: Incremental
, Complete
, Validation
(유효성 검사에만 해당). 기본값은 Incremental
입니다.
모드는 Incremental
배포를 리소스 그룹에 대한 증분 업데이트로 처리합니다. 리소스 그룹에 있지만 템플릿에 지정되지 않은 변경되지 않은 리소스를 남깁니다.
Complete
mode는 템플릿에 없는 리소스를 삭제합니다. 전체 모드는 증분 모드보다 비교적 많은 시간이 걸립니다. 작업 시간이 초과되면 시간 제한을 늘리거나 모드로 변경하는 것이 좋습니다 Incremental
.
경고
전체 모드는 템플릿에 지정되지 않은 리소스 그룹의 모든 기존 리소스를 삭제합니다. 배포하려는 리소스 그룹에 템플릿에 지정되지 않은 필요한 리소스가 포함되어 있지 않은지 검토합니다.
Validate
mode를 사용하면 실제 리소스를 만들기 전에 템플릿 문제를 찾을 수 있습니다.
참고
이 모드는 Validate
리소스가 배포되지 않더라도 항상 리소스 그룹을 만듭니다.
배포 모드에 대해 자세히 알아봅니다.
enableDeploymentPrerequisites
- 필수 구성 요소 사용
string
. 선택 사항입니다. 를 사용하는 경우 action = Create Or Update Resource Group || action = Select Resource Group
를 사용합니다. 허용되는 값: None
, ConfigureVMwithWinRM
(WinRM 에이전트를 사용하여 구성), ConfigureVMWithDGAgent
(배포 그룹 에이전트를 사용하여 구성). 기본값은 None
입니다.
리소스 그룹에 가상 머신이 포함된 경우에만 적용됩니다.
배포 그룹 옵션을 선택하면 각 가상 머신에서 배포 그룹 에이전트가 구성됩니다.
WinRM 옵션을 선택하면 자체 서명된 인증서를 사용하여 포트 5986에서 HTTPS 프로토콜을 통해 WinRM(Windows 원격 관리) 수신기를 구성합니다. 이 구성은 Azure 머신에서 배포 작업을 수행하는 데 필요합니다. 대상 가상 머신이 부하 분산 장치에서 지원하는 경우 인바운드 NAT 규칙이 대상 포트(5986)에 대해 구성되어 있는지 확인합니다.
teamServicesConnection
- Azure Pipelines 서비스 연결
입력 별칭: deploymentGroupEndpoint
. string
. 필요한 경우 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
입니다.
에이전트 등록을 위해 Azure DevOps organization 또는 컬렉션에 연결할 서비스 연결을 지정합니다.
를 사용한 +New
다음, 를 선택하여 서비스 연결을 만들 수 있습니다 Token-based authentication
. 서비스 연결을 설정하려면 PAT(개인용 액세스 토큰) 가 필요합니다. 서비스 연결 세부 정보를 업데이트하려면 클릭합니다 Manage
.
teamServicesConnection
- Azure Pipelines/TFS 서비스 연결
입력 별칭: deploymentGroupEndpoint
. string
. 필요한 경우 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
입니다.
에이전트 등록을 위해 Azure DevOps organization 또는 컬렉션에 연결할 서비스 연결을 지정합니다.
를 사용한 +New
다음, 를 선택하여 서비스 연결을 만들 수 있습니다 Token-based authentication
. 서비스 연결을 설정하려면 PAT(개인용 액세스 토큰) 가 필요합니다. 서비스 연결 세부 정보를 업데이트하려면 클릭합니다 Manage
.
teamProject
- 팀 프로젝트
입력 별칭: project
. string
. 필요한 경우 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
입니다.
배포 그룹을 정의하는 팀 프로젝트를 지정합니다.
deploymentGroupName
- 배포 그룹
string
. 필요한 경우 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
입니다.
에이전트를 등록할 배포 그룹을 지정합니다. 배포 그룹에 대해 자세히 알아봅니다.
copyAzureVMTags
- 에이전트에 Azure VM 태그 복사
boolean
. 선택 사항입니다. 을 사용할 때 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
사용합니다. 기본값은 true
입니다.
Azure VM에서 구성된 태그를 해당 배포 그룹 에이전트에 복사해야 하는지 선택합니다.
기본적으로 모든 Azure 태그는 형식 Key: Value
에 따라 복사됩니다. 예: Role : Web
Azure 태그는 에이전트 컴퓨터에 있는 그대로 복사됩니다.
Azure 리소스에 태그를 사용하는 방법에 대해 자세히 알아봅니다.
runAgentServiceAsUser
- 사용자로 에이전트 서비스 실행
boolean
. 선택 사항입니다. 을 사용할 때 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
사용합니다. 기본값은 false
입니다.
값이 로 설정된 경우 기본 사용자가 아닌 다른 사용자로 에이전트 서비스를 실행합니다 true
.
기본 사용자는 NT AUTHORITY\\SYSTEM
Windows 및 root
Linux에 있습니다.
userName
- 사용자 이름
string
. 필요한 경우 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group
입니다.
가상 머신에서 에이전트 서비스를 실행할 사용자 이름입니다.
도메인 사용자의 경우 값을 또는 username@domain.com
로 domain\username
지정합니다. 로컬 사용자의 경우 를 지정합니다 username
.
동일한 도메인 사용자 또는 이름이 같은 로컬 사용자가 리소스 그룹의 모든 가상 머신에 있다고 가정합니다.
password
- 암호
string
. 선택 사항입니다. 을 사용할 때 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group
사용합니다.
사용자가 Windows VM에서 에이전트 서비스를 실행할 암호입니다.
암호는 모든 VM에서 지정된 사용자에 대해 동일한다고 가정합니다.
빌드 또는 릴리스 파이프라인에 정의된 변수를 로 $(passwordVariable)
수락할 수 있습니다. 변수 secret
를 로 표시하여 보호할 수 있습니다.
Linux VM의 경우 암호가 필요하지 않으며 무시됩니다.
outputVariable
- WinRM에 대한 VM 세부 정보
string
. 선택 사항입니다. 을 사용할 때 enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group
사용합니다.
기존 리소스 그룹을 선택할 때 필요합니다. 리소스 그룹 변수의 이름을 제공합니다. 변수를 사용하여 $(variableName)
애플리케이션 배포를 위한 대상 컴퓨터의 PowerShell 작업과 같은 후속 작업에서 리소스 그룹을 참조할 수 있습니다.
선택한 작업이 , Update
또는 Select
인 경우에만 유효합니다Create
.
deploymentName
- 배포 이름
string
. 선택 사항입니다. 을 사용할 때 action = Create Or Update Resource Group
사용합니다.
만들 리소스 그룹 배포의 이름을 지정합니다.
deploymentOutputs
- 배포 출력
string
. 선택 사항입니다. 을 사용할 때 action = Create Or Update Resource Group
사용합니다.
현재 배포 개체의 출력 섹션을 문자열 형식으로 포함하는 출력 변수의 이름을 제공합니다. ConvertFrom-Json
PowerShell cmdlet을 사용하여 JSON 개체를 구문 분석하고 개별 출력 값에 액세스합니다.
addSpnToEnvironment
- 재정의 매개 변수에서 서비스 주체 세부 정보에 액세스
boolean
. 선택 사항입니다. 을 사용할 때 action = Create Or Update Resource Group
사용합니다. 기본값은 false
입니다.
스크립트의 실행 환경으로 선택한 Azure 엔드포인트의 서비스 주체 ID와 키를 추가합니다. 및 변수는 $servicePrincipalId
$servicePrincipalKey
과 같은 -key $servicePrincipalKey
재정의 매개 변수에 있을 수 있습니다.
useWithoutJSON
- JSON 없이 개별 출력 값을 사용합니다. Stringify 적용됨
boolean
. 선택 사항입니다. 을 사용할 때 action = Create Or Update Resource Group
사용합니다. 기본값은 false
입니다.
개별 출력 값은 JSON을 통해 변환됩니다. 기본적으로 Stringify입니다. 출력 값을 JSON을 통해 변환하지 않고 그대로 사용하려는 경우 Stringify, 이 옵션을 사용하도록 설정합니다. 자세한 내용은 이를 참조하세요.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
이 작업의 새 버전은 AzureResourceManagerTemplateDeployment@3 - ARM 템플릿 배포 v3 작업에서 사용할 수 있습니다.
작업 버전 2의 새로운 기능
- 플랫폼 간 에이전트(Linux, macOS 또는 Windows)에서 작동
- 공개적으로 액세스할 수 있는 http/https URL에 있는 템플릿 JSON을 지원합니다.
- 이제 그리드에서 보거나 편집할 수 있는 매개 변수 재정의에 대한 향상된 UX입니다.
- 부하 분산 장치에서 백업되는 VM에 대한 NAT 규칙 매핑입니다.
- 이제 "리소스 그룹" 필드의 이름이 "WinRM에 대한 VM 세부 정보"로 바뀌고 "가상 머신에 대한 고급 배포 옵션" 섹션에 포함됩니다.
- 제한 사항:
- 클래식 구독을 지원하지 않습니다. ARM 구독만 지원됩니다.
- 이제 작업이 node.js 기반이므로 PowerShell 구문을 지원하지 않습니다. 템플릿 매개 변수를 재정의할 때 매개 변수 이름의 대/소문자 구분이 일치하는지 확인합니다. 또한 버전 1.0에서 버전 2.0으로 마이그레이션할 때 "ConvertTo-SecureString"와 같은 PowerShell cmdlet을 제거합니다.
문제 해결
오류: 내부 서버 오류
이러한 문제는 본질적으로 대부분 일시적입니다. 다음과 같은 여러 가지 이유가 있을 수 있습니다.
- 배포하려는 Azure 서비스 중 하나는 배포하려는 지역에서 유지 관리를 진행하는 것입니다. Azure 서비스의 검사 가동 중지 시간을 주시
https://status.azure.com/
하세요. - Azure Pipelines 서비스 자체가 유지 관리 중입니다. 가동 중지 시간을 주시
https://status.dev.azure.com/
하세요.
그러나 배포하려는 Azure 서비스가 리소스에 대해 선택한 지역을 지원하지 않는 등 ARM 템플릿의 오류로 인해 이 문제가 발생하는 일부 인스턴스를 확인했습니다.
오류: 시간 제한
시간 제한 문제는 다음 두 위치에서 발생할 수 있습니다.
- Azure Pipelines 에이전트
- 포털 배포
작업 로그에 있을 포털 배포 링크를 확인하여 시간 제한이 포털에서 온 것인지 식별할 수 있습니다. 링크가 없으면 Azure Pipelines 에이전트 때문일 수 있습니다. 링크가 있는 경우 링크에 따라 포털 배포에서 발생한 시간 제한이 있는지 확인합니다.
오류: 매개 변수를 재정의하는 동안 사용할 CORS 규칙
템플릿 파일이 BLOB에서 참조되는 경우 파이프라인에서 매개 변수를 재정의하는 동안 다음 경고 메시지가 표시될 수 있습니다.
Warning: Failed to download the file from template path.
이 기능을 사용하려면 원본에서 CORS 규칙을 사용하도록 설정해야 합니다. 템플릿이 Azure Storage Blob에 있는 경우 원본 간 리소스 공유 지원을 참조하여 CORS를 사용하도록 설정합니다.
CORS를 사용하도록 설정하는 것 외에도 템플릿의 링크에 지정된 SAS 토큰이 "srt-sco"인지 확인합니다. 이 토큰은 파일을 다운로드하고 진행하는 데 필요합니다.
Azure Pipelines 에이전트
Azure Pipelines 에이전트에서 문제가 발생하는 경우 YAML에서 timeoutInMinutes를 키로 설정하여 시간 제한을 0으로 늘릴 수 있습니다. 자세한 내용은 파이프라인에서 작업 지정을 참조하세요.
포털 배포
Azure Portal 오류가 발생했는지 확인하는 방법에 대한 이 문서를 확인합니다. Azure Resource Manager 사용하여 배포 기록 보기.
포털 배포의 경우 ARM 템플릿에서 "timeoutInMinutes"를 "0"으로 설정해 보세요. 지정하지 않으면 가정된 값은 60분입니다. 0은 배포가 성공할 수 있는 한 실행되도록 합니다.
이는 시스템의 일시적인 문제로 인해 발생할 수도 있습니다. Azure Pipelines 서비스에 가동 중지 시간이 있는 경우 검사 주의 https://status.dev.azure.com/
하세요.
오류: ARM(Azure Resource Manager) 템플릿의 유효성 검사 실패
이 문제는 대부분 지원되지 않는 SKU 또는 지역과 같은 ARM 템플릿의 잘못된 매개 변수 때문에 발생합니다. 유효성 검사에 실패하면 오류 메시지의 유효성을 검사합니다. 잘못된 리소스 및 매개 변수를 가리켜야 합니다.
이 문제는 여러 줄 문자열로 인해 발생할 수도 있습니다. 현재 Azure 리소스 그룹 배포 작업은 ARM 템플릿 또는 매개 변수 JSON 파일에서 여러 줄 문자열을 지원하지 않습니다.
또한 ARM 템플릿의 구조 및 구문: ARM 템플릿의 구조 및 구문 이해에 관한 이 문서를 참조하세요.
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
설정 가능한 변수 | 모두 |
에이전트 버전 | 2.119.1 이상 |
작업 범주 | 배포 |