Files
runner-images/images.CI/azure-pipelines/image-generation.yml
T

63 lines
2.7 KiB
YAML
Raw Normal View History

2020-02-14 19:09:09 +03:00
jobs:
- job:
pool: ci-agent-pool
2020-02-15 20:52:05 +03:00
timeoutInMinutes: 600
variables:
- group: Image Generation Variables
2020-02-14 19:09:09 +03:00
steps:
2020-02-19 14:30:44 +03:00
- task: PowerShell@2
2020-02-18 15:37:23 +03:00
displayName: 'Download custom repository'
2020-02-19 10:58:59 +03:00
condition: and(ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''), ne(variables['CUSTOM_REPOSITORY_URL'], ''))
2020-02-19 14:30:44 +03:00
inputs:
targetType: 'inline'
script: |
Remove-Item -path './*' -Recurse -Force
Write-Host "Download $(CUSTOM_REPOSITORY_BRANCH) branch from $(CUSTOM_REPOSITORY_URL)"
2020-02-21 10:30:54 +03:00
# git on self-hosted agent produces some output to stderr even during successful cloning
# use cmd output redirect to overcome it
2020-02-20 19:10:36 +03:00
cmd /c "git clone $(CUSTOM_REPOSITORY_URL) . -b $(CUSTOM_REPOSITORY_BRANCH) --single-branch --depth 1 2>&1"
2020-02-18 15:37:23 +03:00
- task: PowerShell@2
displayName: 'Build VM'
inputs:
targetType: filePath
filePath: ./images.CI/build-image.ps1
2020-02-21 11:34:07 +03:00
arguments: -ResourcesNamePrefix $(Build.BuildId) `
2020-02-14 19:09:09 +03:00
-ClientId $(CLIENT_ID) `
-ClientSecret $(CLIENT_SECRET) `
-Image ${{ parameters.image_type }} `
-ResourceGroup $(AZURE_RESOURCE_GROUP) `
-StorageAccount $(AZURE_STORAGE_ACCOUNT) `
-SubscriptionId $(AZURE_SUBSCRIPTION) `
-TenantId $(AZURE_TENANT) `
-Location $(AZURE_LOCATION) `
-VirtualNetworkName $(BUILD_AGENT_VNET_NAME) `
-VirtualNetworkRG $(BUILD_AGENT_VNET_RESOURCE_GROUP) `
-VirtualNetworkSubnet $(BUILD_AGENT_SUBNET_NAME) `
-GitHubFeedToken $(GITHUB_TOKEN)
2020-02-20 17:52:12 +03:00
- task: PowerShell@2
displayName: 'Create release for VM deployment'
inputs:
targetType: filePath
filePath: ./images.CI/create-release.ps1
2020-02-21 11:34:07 +03:00
arguments: -BuildId $(Build.BuildId) `
2020-02-20 17:52:12 +03:00
-Organization $(RELEASE_TARGET_ORGANIZATION) `
-DefinitionId $(RELEASE_TARGET_DEFINITION_ID) `
-Project $(RELEASE_TARGET_PROJECT) `
-ImageName ${{ parameters.image_type }} `
-AccessToken $(RELEASE_TARGET_TOKEN)
- task: PowerShell@2
displayName: 'Clean up resources'
condition: always()
inputs:
targetType: filePath
filePath: ./images.CI/cleanup.ps1
2020-02-21 11:34:07 +03:00
arguments: -ResourcesNamePrefix $(Build.BuildId) `
2020-02-14 19:09:09 +03:00
-ClientId $(CLIENT_ID) `
-ClientSecret $(CLIENT_SECRET) `
-Image ${{ parameters.image_type }} `
-SubscriptionId $(AZURE_SUBSCRIPTION) `
-TenantId $(AZURE_TENANT)