是的,您可以在自定義構建/發佈步驟/任務中獲取相關信息(例如Tenant Id)。
有關構建擴展的更多信息,請參閱:Add a build task。
如果您不知道如何實現它,可以參考以下步驟獲取Azure PowerShell的所有源代碼步驟/任務。
- 建立一個內部部署生成代理:Deploy an agent on Windows
- 創建一個構建/發佈定義
- 添加Azure中的PowerShell步/任務和配置它
- 隊列此版本/釋放
- 登錄您的構建代理機器,檢查Azure PowerShell的步驟/任務
[agent folder]\tasks\AzurePowerShell
簡單的構建/釋放步驟/ tas ķ擴展:
文件:
AzureCustomTask
Ps_modules (can be found in the Azure PowerShell step/task folder, refer to previous steps)
Test.ps1
Icon.png
Task.json
Test.ps1代碼:在task.json
$serviceNameInput = Get-VstsInput -Name ConnectedServiceNameSelector -Default 'ConnectedServiceName'
Write-Host $serviceNameInput
$serviceName = Get-VstsInput -Name $serviceNameInput -Default (Get-VstsInput -Name DeploymentEnvironmentName)
Write-Host $serviceName
if (!$serviceName) {
# Let the task SDK throw an error message if the input isn't defined.
Get-VstsInput -Name $serviceNameInput -Require
}
$endpoint = Get-VstsEndpoint -Name $serviceName -Require
Write-Host $endpoint.Auth.Parameters.TenantId
部分代碼(輸入框,選擇訂閱):
"inputs": [
{
"name": "ConnectedServiceName",
"type": "connectedService:AzureRM",
"label": "Azure RM Subscription",
"defaultValue": "",
"required": true,
"helpMarkDown": "Select the Azure Resource Manager subscription for the deployment."
},
....
感謝。這是否意味着通過Powershell獲得連接細節的唯一方法是?我想知道我們是否可以通過.NET代碼獲得它? –
@IsaacAbraham它使用vsts-task-lib來獲取端點,它是powershell代碼,但您可以從.net代碼中調用powershell腳本。 –