SOLVED

Create deployment group using Azure CLI/powershell and assign a VM in release pipeline

Brass Contributor

Hi Team,

 

I have a requirement to create a release pipeline as below :

 

I have a linux VM and I would like to automatically create a deployment group using azure cli/powershell and assign existing linux vm to be a part of deployment group.

 

Thanks for the reply

7 Replies

@Sagar_Lad 

 

 

#create VM
#First-Level
New-AzResourceGroup -Name PSAzureBootCampRG -Location westus
    $gatewaysubnet = New-AzVirtualNetworkSubnetConfig -Name PSGatewaySubnet -AddressPrefix "10.172.100.0/27"
    $virtualNetwork = New-AzVirtualNetwork -Name PSAzureBCVnet -ResourceGroupName PSAzureBootCampRG -Location westus -AddressPrefix "10.172.100.0/24" -Subnet $gatewaysubnet
    Add-AzVirtualNetworkSubnetConfig -Name AzureFirewallSubnet -VirtualNetwork $virtualNetwork -AddressPrefix "10.172.100.32/27"
    Add-AzVirtualNetworkSubnetConfig -Name PSDMZSubnet -VirtualNetwork $virtualNetwork -AddressPrefix "10.172.100.96/27"
    $virtualNetwork | Set-AzVirtualNetwork

#Second-Level 
$publicipvm = New-AzPublicIpAddress -ResourceGroupName "PSAzureBootCampRG" -name "VMIP" -location "westus" -AllocationMethod Static -Sku Standard
$resourceGroup = "PSAzureBootCampRG" 
$location = "westus" 
$vmName = "VMName" 
$cred = Get-Credential -Message "Enter a username and password for the virtual machine." 
New-AzResourceGroup -Name $resourceGroup -Location $location
New-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Location $location -ImageName "RHEL" -Size "Standard_D2_v3" -VirtualNetworkName "PSAzureBCVnet" -SubnetName "PSDMZSubnet" -PublicIpAddressName $publicipvm -Credential $cred -OpenPorts 22

Hi @emreozanmemis ,

 

Thanks for the reply.

It seems my requirement is bit different.

 

1) I already have one resource group,Linux VM created.

2) I would like to create deployment group assigned to existing Linux VM using Powershell/CLI etc.

 

Could you guide me on how to achieve the same?

Hi @emreozanmemis,

Thanks a lot for the update.
I will implement the solution and let you know

Hi @emreozanmemis ,

 

Thanks for sharing the link.

I have gone through the Microsoft link but it seems that links is more about how to install devops agent.

 

I am looking for an option create deployment group using powershell

best response confirmed by Sagar_Lad (Brass Contributor)
Solution
it looks like you want to create a deployment group using PowerShell

$baseUri = "https://dev.azure.com/{organisation}/{projectname}"
$accessToken = [System.Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(":$($PersonalAccessToken)"))
$headers = @{
"Authorization" = "Basic $($accessToken)"
"Content-Type" = "application/json"
}

$uri = "$($baseUri)/_apis/distributedtask/deploymentgroups?api-version=5.1-preview.1"
$webResult = Invoke-WebRequest -Uri $uri -Method Get -Headers $headers -UseBasicParsing
1 best response

Accepted Solutions
best response confirmed by Sagar_Lad (Brass Contributor)
Solution
it looks like you want to create a deployment group using PowerShell

$baseUri = "https://dev.azure.com/{organisation}/{projectname}"
$accessToken = [System.Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(":$($PersonalAccessToken)"))
$headers = @{
"Authorization" = "Basic $($accessToken)"
"Content-Type" = "application/json"
}

$uri = "$($baseUri)/_apis/distributedtask/deploymentgroups?api-version=5.1-preview.1"
$webResult = Invoke-WebRequest -Uri $uri -Method Get -Headers $headers -UseBasicParsing

View solution in original post