deploy/pipelines/04-sap-software-download.yaml (107 lines of code) (raw):
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
---
# /*---------------------------------------------------------------------------8
# | |
# | This pipeline downloads the SAP software |
# | |
# +------------------------------------4--------------------------------------*/
parameters:
- name: bom_base_name
displayName: Name of Bill of Materials (BoM)
type: string
- name: environment
displayName: Control Plane Environment
default: MGMT
- name: region
displayName: Control Plane (SAP Library) location code
type: string
default: WEEU
- name: re_download
displayName: Re-download software from SAP
type: boolean
default: false
- name: sap_automation_repo_path
displayName: The local path on the agent where the sap_automation repo can be found
type: string
- name: config_repo_path
displayName: The local path on the agent where the config repo can be found
type: string
- name: sample_repo_path
displayName: The local path on the agent where the config repo can be found
type: string
- name: ExtraParams
displayName: Extra parameters to pass to Ansible
type: string
stages:
- stage: Prepare_download
condition: and(not(failed()), not(canceled()))
variables:
- template: variables/04-sap-software-download-variables.yaml
parameters:
bom_base_name: ${{ parameters.bom_base_name }}
environment: ${{ parameters.environment }}
re_download: ${{ parameters.re_download }}
region: ${{ parameters.region }}
displayName: Preparation
jobs:
- job: Prepare_download_job
displayName: Preparation
workspace:
clean: all
steps:
- template: templates\download_samples.yaml
- task: PostBuildCleanup@4
- task: Bash@3
inputs:
targetType: 'filePath'
filePath: "$(System.DefaultWorkingDirectory)/sap-automation/deploy/scripts/pipeline_scripts/04-sap-software-download-prepare.sh"
failOnStderr: false
workingDirectory: "$(System.DefaultWorkingDirectory)"
displayName: Prepare download
name: Preparation
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
ARM_CLIENT_ID: $(CP_ARM_CLIENT_ID)
ARM_CLIENT_SECRET: $(CP_ARM_CLIENT_SECRET)
ARM_TENANT_ID: $(CP_ARM_TENANT_ID)
ARM_SUBSCRIPTION_ID: $(CP_ARM_SUBSCRIPTION_ID)
SUSERNAME: $(S-Username)
SPASSWORD: $(S-Password)
SAP_AUTOMATION_REPO_PATH: ${{ parameters.sap_automation_repo_path }}
SAMPLE_REPO_PATH: ${{ parameters.sample_repo_path }}
CONFIG_REPO_PATH: ${{ parameters.config_repo_path }}/$(Deployment_Configuration_Path)
USE_MSI: $(Use_MSI)
- stage: Software_download
variables:
- template: variables/04-sap-software-download-variables.yaml
parameters:
bom_base_name: ${{ parameters.bom_base_name }}
environment: ${{ parameters.environment }}
re_download: ${{ parameters.re_download }}
region: ${{ parameters.region }}
displayName: Download software
jobs:
- job: Software_download
displayName: Download software
variables:
BOM_NAME: $[ stageDependencies.Prepare_download.Prepare_download_job.outputs['Preparation.BOM_NAME'] ]
KV_NAME: $[ stageDependencies.Prepare_download.Prepare_download_job.outputs['Preparation.KV_NAME'] ]
SUSERNAME: $[ stageDependencies.Prepare_download.Prepare_download_job.outputs['Preparation.SUSERNAME'] ]
timeoutInMinutes: 0
steps:
- template: templates\download_samples.yaml
- task: PostBuildCleanup@4
- task: Bash@3
inputs:
targetType: 'filePath'
filePath: "$(System.DefaultWorkingDirectory)/sap-automation/deploy/scripts/pipeline_scripts/04-sap-software-download.sh"
failOnStderr: false
workingDirectory: "$(System.DefaultWorkingDirectory)"
displayName: Download
name: download
env:
ARM_CLIENT_ID: $(CP_ARM_CLIENT_ID)
ARM_CLIENT_SECRET: $(CP_ARM_CLIENT_SECRET)
ARM_TENANT_ID: $(CP_ARM_TENANT_ID)
ARM_SUBSCRIPTION_ID: $(CP_ARM_SUBSCRIPTION_ID)
SAP_AUTOMATION_REPO_PATH: ${{ parameters.sap_automation_repo_path }}
SAMPLE_REPO_PATH: ${{ parameters.sample_repo_path }}
CONFIG_REPO_PATH: ${{ parameters.config_repo_path }}/$(Deployment_Configuration_Path)
ANSIBLE_COLLECTIONS_PATH: ~/.ansible/collections:/opt/ansible/collections
USE_MSI: $(Use_MSI)
EXTRA_PARAMETERS: ${{ parameters.ExtraParams }}
AGENT_TEMP_DIRECTORY: $(Agent.TempDirectory)