다음을 통해 공유


AzureResourceGroupDeployment@2 - Azure 리소스 그룹 배포 v2 작업

ARM(Azure Resource Manager) 템플릿을 리소스 그룹에 배포하고 가상 머신을 관리합니다.

리소스 그룹에 ARM(Azure Resource Manager) 템플릿을 배포합니다. 리소스 그룹의 모든 VM(Virtual Machines)을 시작, 중지, 삭제 및 할당 취소할 수도 있습니다.

통사론

# 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 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). 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 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). 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 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines/TFS service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). VM details for WinRM. 
  # Outputs
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.

입력

Azure 구독azureSubscription -
입력 별칭: 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 모드는 템플릿에 없는 리소스를 삭제합니다. 전체 모드는 증분 모드보다 비교적 많은 시간이 걸립니다. 작업 시간이 초과되면 시간 제한을 늘리거나 Incremental 모드로 변경하는 것이 좋습니다.

경고

전체 모드는 템플릿에 지정되지 않은 리소스 그룹의 모든 기존 리소스를 삭제합니다. 배포하려는 리소스 그룹에 템플릿에 지정되지 않은 필요한 리소스가 포함되어 있지 않은지 검토하세요.

Validate 모드를 사용하면 실제 리소스를 만들기 전에 템플릿 문제를 찾을 수 있습니다.

메모

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)에 대해 구성되었는지 확인합니다.


Azure Pipelines 서비스 연결teamServicesConnection -
입력 별칭: deploymentGroupEndpoint. string. (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent때 필요합니다.

에이전트 등록을 위해 Azure DevOps 조직 또는 컬렉션에 연결할 서비스 연결을 지정합니다.

+New 사용하여 서비스 연결을 만든 다음 Token-based authentication선택할 수 있습니다. 서비스 연결을 설정하려면 PAT(개인용 액세스 토큰) 필요합니다. Manage 클릭하여 서비스 연결 세부 정보를 업데이트합니다.


Azure Pipelines/TFS 서비스 연결teamServicesConnection -
입력 별칭: deploymentGroupEndpoint. string. (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent때 필요합니다.

에이전트 등록을 위해 Azure DevOps 조직 또는 컬렉션에 연결할 서비스 연결을 지정합니다.

+New 사용하여 서비스 연결을 만든 다음 Token-based authentication선택할 수 있습니다. 서비스 연결을 설정하려면 PAT(개인용 액세스 토큰) 필요합니다. Manage 클릭하여 서비스 연결 세부 정보를 업데이트합니다.


teamProject - 팀 프로젝트
입력 별칭: project. string. (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent때 필요합니다.

배포 그룹을 정의하는 팀 프로젝트를 지정합니다.


deploymentGroupName - 배포 그룹
string. (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent때 필요합니다.

에이전트를 등록할 배포 그룹을 지정합니다. 배포 그룹에 대해 자세히 알아봅니다.


에이전트Azure VM 태그 복사 copyAzureVMTags -
boolean. 선택적. (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent때 사용합니다. 기본값: true.

Azure VM에서 구성된 태그를 해당 배포 그룹 에이전트에 복사해야 하는지 선택합니다.

기본적으로 모든 Azure 태그는 Key: Value형식에 따라 복사됩니다. 예: Role : Web Azure 태그는 에이전트 컴퓨터에 as-is 복사됩니다.

Azure 리소스 태그를 사용하는대해 자세히 알아봅니다.


runAgentServiceAsUser - 사용자로 에이전트 서비스 실행
boolean. 선택적. (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent때 사용합니다. 기본값: false.

값이 true설정된 경우 기본 사용자가 아닌 다른 사용자로 에이전트 서비스를 실행합니다.

기본 사용자는 Windows에서 NT AUTHORITY\\SYSTEM Linux에서 root.


userName - 사용자 이름
string. enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true때 필요합니다.

가상 머신에서 에이전트 서비스를 실행할 사용자 이름입니다.

도메인 사용자의 경우 값을 domain\username 또는 username@domain.com지정합니다. 로컬 사용자의 경우 username지정합니다.

동일한 도메인 사용자 또는 이름이 같은 로컬 사용자가 각각 리소스 그룹의 모든 가상 머신에 있다고 가정합니다.


암호password -
string. 선택적. enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true때 사용합니다.

사용자가 Windows VM에서 에이전트 서비스를 실행할 암호입니다.

암호는 모든 VM에서 지정된 사용자에 대해 동일한다고 가정합니다.

빌드 또는 릴리스 파이프라인에 정의된 변수를 $(passwordVariable)수락할 수 있습니다. 변수를 secret 표시하여 보호할 수 있습니다.

Linux VM의 경우 암호가 필요하지 않으며 무시됩니다.


WinRM대한 VM 세부 정보 outputVariable -
string. 선택적. (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None)때 사용합니다.

기존 리소스 그룹을 선택할 때 필요합니다. 리소스 그룹 변수의 이름을 제공합니다. 변수를 $(variableName) 사용하여 애플리케이션 배포를 위한 대상 컴퓨터의 PowerShell 작업과 같은 후속 작업에서 리소스 그룹을 참조할 수 있습니다.

선택한 작업이 Create, Update또는 Select경우에만 유효합니다.


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 서비스 중 하나는 배포하려는 지역에서 유지 관리를 진행하는 것입니다. https://status.azure.com/ 주의하여 Azure 서비스의 가동 중지 시간을 확인합니다.
  • 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은 배포가 성공할 수 있는 한 오랫동안 실행되도록 합니다.

이는 시스템의 일시적인 문제로 인해 발생할 수도 있습니다. https://status.dev.azure.com/ 주시하여 Azure Pipelines 서비스에 가동 중지 시간이 있는지 확인합니다.

오류: ARM(Azure Resource Manager) 템플릿의 유효성 검사 실패

이 문제는 지원되지 않는 SKU 또는 지역과 같은 ARM 템플릿의 잘못된 매개 변수로 인해 주로 발생합니다. 유효성 검사에 실패하면 오류 메시지를 확인합니다. 잘못된 리소스 및 매개 변수를 가리킵니다.

이 문제는 여러 줄 문자열로 인해 발생할 수도 있습니다. 현재 Azure 리소스 그룹 배포 작업은 ARM 템플릿 또는 매개 변수 JSON 파일에서 여러 줄 문자열을 지원하지 않습니다.

또한 ARM 템플릿의 구조 및 구문에 관한 이 문서를 참조하세요. ARM 템플릿의 구조 및 구문을 이해합니다.

요구 사항

요구 묘사
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 없음
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어떤
settable 변수 어떤
에이전트 버전 2.119.1 이상
작업 범주 전개시키다