Add deployment step (#4)

* add release step

* add creation release

* move file to another folder

* resolve comments

* minor changes
This commit is contained in:
Dmitry Shibanov
2020-02-20 17:52:12 +03:00
committed by GitHub
parent 779cef9b67
commit 56bc08104e
2 changed files with 43 additions and 0 deletions

View File

@@ -35,6 +35,18 @@ jobs:
-VirtualNetworkSubnet $(BUILD_AGENT_SUBNET_NAME) ` -VirtualNetworkSubnet $(BUILD_AGENT_SUBNET_NAME) `
-GitHubFeedToken $(GITHUB_TOKEN) -GitHubFeedToken $(GITHUB_TOKEN)
- task: PowerShell@2
displayName: 'Create release for VM deployment'
inputs:
targetType: filePath
filePath: ./images.CI/create-release.ps1
arguments: -BuildId $(Build.BuildNumber) `
-Organization $(RELEASE_TARGET_ORGANIZATION) `
-DefinitionId $(RELEASE_TARGET_DEFINITION_ID) `
-Project $(RELEASE_TARGET_PROJECT) `
-ImageName ${{ parameters.image_type }} `
-AccessToken $(RELEASE_TARGET_TOKEN)
- task: PowerShell@2 - task: PowerShell@2
displayName: 'Clean up resources' displayName: 'Clean up resources'
condition: always() condition: always()

View File

@@ -0,0 +1,31 @@
param(
[UInt32] [Parameter (Mandatory)] $BuildId,
[String] [Parameter (Mandatory)] $Organization,
[String] [Parameter (Mandatory)] $Project,
[String] [Parameter (Mandatory)] $ImageName,
[String] [Parameter (Mandatory)] $DefinitionId,
[String] [Parameter (Mandatory)] $AccessToken
)
$Body = @{
definitionId = $DefinitionId
variables = @{
ImageBuildId = @{
value = $BuildId
}
ImageName = @{
value = $ImageName
}
}
isDraft = "false"
} | ConvertTo-Json -Depth 3
$URL = "https://vsrm.dev.azure.com/$Organization/$Project/_apis/release/releases?api-version=5.1"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("'':${AccessToken}"))
$headers = @{
Authorization = "Basic ${base64AuthInfo}"
}
$NewRelease = Invoke-RestMethod $URL -Body $Body -Method "POST" -Headers $headers -ContentType "application/json"
Write-Host "Created release: $($NewRelease._links.web.href)"