60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# 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_VHD - tenant ID to build the vhd
 | 
						|
# - AZURE_CLIENT_ID_VHD - Service principal ID to build the vhd
 | 
						|
# - AZURE_CLIENT_SECRET_VHD - Service principal secret to build the vhd
 | 
						|
# - AZURE_SUBSCRIPTION_ID_VHD - Subscription ID to build the vhd
 | 
						|
# - KUBERNETES_VERSION - version of Kubernetes to create the sku for, e.g. `1.21.3`
 | 
						|
# - CLEANUP - whether or not to clean up resources created in the run
 | 
						|
 | 
						|
trigger: none
 | 
						|
 | 
						|
schedules:
 | 
						|
  - cron: "0 1 * * *"
 | 
						|
    displayName: "nightly build"
 | 
						|
    always: true
 | 
						|
    branches:
 | 
						|
      include:
 | 
						|
        - master
 | 
						|
 | 
						|
stages:
 | 
						|
  - stage: vhd
 | 
						|
    jobs:
 | 
						|
    - job:
 | 
						|
      container: $[ variables['CONTAINER_IMAGE'] ]
 | 
						|
      timeoutInMinutes: 120
 | 
						|
      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 .)
 | 
						|
          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: delete-storage-account.yaml
 | 
						|
      - script: |
 | 
						|
          chown -R $USER:$USER .
 | 
						|
        displayName: cleanup - chown all files in work directory
 | 
						|
        condition: always()
 | 
						|
      strategy:
 | 
						|
        maxParallel: 0
 | 
						|
        matrix:
 | 
						|
          Windows:
 | 
						|
            OS: Windows
 | 
						|
            OS_VERSION: 2019
 | 
						|
          Linux:
 | 
						|
            OS: Ubuntu
 | 
						|
            OS_VERSION: 2004
 | 
						|
      variables:
 | 
						|
        AZURE_TENANT_ID: $(AZURE_TENANT_ID_VHD)
 | 
						|
        AZURE_CLIENT_ID: $(AZURE_CLIENT_ID_VHD)
 | 
						|
        AZURE_CLIENT_SECRET: $(AZURE_CLIENT_SECRET_VHD)
 | 
						|
        AZURE_SUBSCRIPTION_ID: $(AZURE_SUBSCRIPTION_ID_VHD)
 |