Scenarios - AzureDevOpsCloudConnection
INSERT TEXT HERE
<#
.DESCRIPTION
This script deploys a Hyper-V VM using nested virtualization and deploys a build agent on it, connected to an Azure DevOps organisation's agent pool.
This lab includes a reference to Azure DevOps in addition to the build agent
#>
param
(
# Your user name on Azure DevOps, or an organisation's name
[Parameter(Mandatory)]
[string]
$Organisation,
# Your Personal Access Token. The user name is irrelevant
[Parameter(Mandatory)]
[pscredential]
$PersonalAccessToken,
# The desired agent pool name. Defaults to 'default'
$AgentPoolName = 'default',
$LabName = 'NestedBuildWorker'
)
New-LabDefinition -Name $LabName -DefaultVirtualizationEngine HyperV
Add-LabVirtualNetworkDefinition -Name $LabName -AddressSpace 192.168.10.0/28
Add-LabVirtualNetworkDefinition -Name 'Default Switch' -HyperVProperties @{ SwitchType = 'External'; AdapterName = 'Ethernet' }
$netAdapter = @()
$netAdapter += New-LabNetworkAdapterDefinition -VirtualSwitch $labName
$netAdapter += New-LabNetworkAdapterDefinition -VirtualSwitch 'Default Switch' -UseDhcp
Add-LabMachineDefinition -Name BLD01 -Memory ((Get-CimInstance Win32_OperatingSystem).FreePhysicalMemory * 0.75) -Roles HyperV,TfsBuildWorker -OperatingSystem 'Windows Server 2019 Datacenter (Desktop Experience)' -NetworkAdapter $netAdapter
$role = Get-LabMachineRoleDefinition -Role TfsBuildWorker -Properties @{
Organisation = $Organisation
PAT = $PersonalAccessToken.GetNetworkCredential().Password
}
Add-LabMachineDefinition -Name AzDevOps -Roles $role -SkipDeployment
Install-Lab