This commit is contained in:
		
							
								
								
									
										50
									
								
								packer/azure/.pipelines/build-vhd.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								packer/azure/.pipelines/build-vhd.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
# Required pipeline variables:
 | 
			
		||||
# - BUILD_POOL - Azure DevOps build pool to use
 | 
			
		||||
# - CONTAINER_IMAGE - Dev container image URL to use. Should have Azure CLI, Packer and Ansible.
 | 
			
		||||
# - AZURE_TENANT_ID - tenant ID
 | 
			
		||||
# - AZURE_CLIENT_ID - Service principal ID
 | 
			
		||||
# - AZURE_CLIENT_SECRET - Service principal secret
 | 
			
		||||
# - AZURE_SUBSCRIPTION_ID - Subscription ID used by the pipeline
 | 
			
		||||
# - KUBERNETES_VERSION - version of Kubernetes to build the image with, e.g. `1.16.2`
 | 
			
		||||
# - OS - target of build e.g. `Ubuntu/Windows`
 | 
			
		||||
# - OS_VERSION - target of build e.g. `18.04/2004/2019`
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
- job: build_vhd
 | 
			
		||||
  container: $[ variables['CONTAINER_IMAGE'] ]
 | 
			
		||||
  timeoutInMinutes: 120
 | 
			
		||||
  strategy:
 | 
			
		||||
    maxParallel: 0
 | 
			
		||||
  pool:
 | 
			
		||||
    name: $(BUILD_POOL)
 | 
			
		||||
  steps:
 | 
			
		||||
  - template: k8s-config.yaml
 | 
			
		||||
  - script: |
 | 
			
		||||
      set -o pipefail
 | 
			
		||||
      make deps-azure
 | 
			
		||||
      os=$(echo "${OS}" | tr '[:upper:]' '[:lower:]')
 | 
			
		||||
      version=$(echo "${OS_VERSION}" | tr '[:upper:]' '[:lower:]' | tr -d .)
 | 
			
		||||
      export RESOURCE_GROUP_NAME="cluster-api-images"
 | 
			
		||||
 | 
			
		||||
      # timestamp is in RFC-3339 format to match kubetest
 | 
			
		||||
      export TIMESTAMP="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
 | 
			
		||||
      export JOB_NAME="${JOB_NAME:-"image-builder-vhd"}"
 | 
			
		||||
      export TAGS="creationTimestamp=${TIMESTAMP} jobName=${JOB_NAME}"
 | 
			
		||||
      printf "${TAGS}" | tee packer/azure/tags.out
 | 
			
		||||
      make build-azure-vhd-$os-$version | tee packer/azure/packer.out
 | 
			
		||||
    displayName: Building VHD
 | 
			
		||||
    workingDirectory: '$(system.defaultWorkingDirectory)/images/capi'
 | 
			
		||||
    env:
 | 
			
		||||
      AZURE_CLIENT_SECRET: $(AZURE_CLIENT_SECRET)
 | 
			
		||||
  - template: generate-sas.yaml
 | 
			
		||||
  - template: vhd-publishing-info.yaml
 | 
			
		||||
  - task: PublishPipelineArtifact@1
 | 
			
		||||
    inputs:
 | 
			
		||||
      artifact: 'publishing-info'
 | 
			
		||||
      path: '$(system.defaultWorkingDirectory)/images/capi/packer/azure/vhd-publishing-info.json'
 | 
			
		||||
    condition: eq(variables.CLEANUP, 'False')
 | 
			
		||||
  - template: delete-storage-account.yaml
 | 
			
		||||
  - script: |
 | 
			
		||||
      chown -R $USER:$USER .
 | 
			
		||||
    displayName: cleanup - chown all files in work directory
 | 
			
		||||
    condition: always()
 | 
			
		||||
		Reference in New Issue
	
	Block a user