Deployment Groups
AC Maintenance CI


$ErrorActionPreference="Stop";If(-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent() ).IsInRole( [Security.Principal.WindowsBuiltInRole] "Administrator")){ throw "Run command in an administrator PowerShell prompt"};If($PSVersionTable.PSVersion -lt (New-Object System.Version("3.0"))){ throw "The minimum version of Windows PowerShell that is required by the script (3.0) does not match the currently running version of Windows PowerShell." };If(-NOT (Test-Path $env:SystemDrive\'ac_deploymentgroups'\'azagent01')){mkdir $env:SystemDrive\'ac_deploymentgroups'\'azagent01'}; cd $env:SystemDrive\'ac_deploymentgroups'\'azagent01'; for($i=1; $i -lt 100; $i++){$destFolder="A"+$i.ToString();if(-NOT (Test-Path ($destFolder))){mkdir $destFolder;cd $destFolder;break;}}; $agentZip="$PWD\agent.zip";$DefaultProxy=[System.Net.WebRequest]::DefaultWebProxy;$securityProtocol=@();$securityProtocol+=[Net.ServicePointManager]::SecurityProtocol;$securityProtocol+=[Net.SecurityProtocolType]::Tls12;[Net.ServicePointManager]::SecurityProtocol=$securityProtocol;$WebClient=New-Object Net.WebClient; $Uri='https://vstsagentpackage.azureedge.net/agent/3.225.2/vsts-agent-win-x64-3.225.2.zip';if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))){$WebClient.Proxy= New-Object Net.WebProxy($DefaultProxy.GetProxy($Uri).OriginalString, $True);}; $WebClient.DownloadFile($Uri, $agentZip);Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory( $agentZip, "$PWD");.\config.cmd --deploymentgroup --deploymentgroupname "prod-ex-prxy-01 deployment group" --agent "prod-ex-prxy-01_azagent01" --runasservice --work '_work' --url 'https://pm.aspireclan.com/' --collectionname 'FinPlan-Org' --projectname 'Baaki-2024'; Remove-Item $agentZip;| Deployment Groups | ||||
|---|---|---|---|---|
| Category | Development | QA | Production | Comments |
| App | One agent each for all services (gw, auth, data, file, script, scheduler [windows service], etc.) per server | |||
| Web | Only one agent for web application per server | |||
| Load Balancer (LB) | One agent for the API gateway and another one for the Web Application per server | |||
| Proxy | One agent for the API gateway and another one for the Web Application per server | |||
| File | Only one agent for the file service per server | |||
| Swagger | NA | NA | One agent each for all services (gw, auth, data, file, script, etc.) per server. Currently only PROD server is being used | |
