tools/azdo_pipelines/run-publisher.yaml (60 lines of code) (raw):
trigger:
branches:
include:
- main
paths:
exclude:
- tools/*
parameters:
- name: API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH
type: string
displayName: Folder where the artifacts reside
default: "artifacts"
- name: COMMIT_ID
type: string
displayName: Choose "publish-all-artifacts-in-repo" only when you want to force republishing all artifacts (e.g. after build failure). Otherwise stick with the default behavior of "publish-artifacts-in-last-commit"
default: publish-artifacts-in-last-commit
values:
- publish-artifacts-in-last-commit
- publish-all-artifacts-in-repo
variables:
- group: apim-automation
- name: System.Debug
value: true
stages:
- stage: push_changes_to_Dev_APIM
displayName: Push changes to Dev APIM
jobs:
- job: push_changes_to_Dev_APIM
displayName: Push changes to Dev APIM
pool:
vmImage: ubuntu-latest
steps:
- template: run-publisher-with-env.yaml
parameters:
API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH: ${{ parameters.API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH }}
RESOURCE_GROUP_NAME : $(RESOURCE_GROUP_NAME)
API_MANAGEMENT_SERVICE_NAME : $(APIM_NAME)
ENVIRONMENT: "Dev"
COMMIT_ID: ${{ parameters.COMMIT_ID }}
- stage: push_changes_to_Prod_APIM
displayName: Push changes to Prod APIM
jobs:
- deployment: push_changes_to_Prod_APIM
displayName: Push changes to Prod APIM
variables:
#setting the testSecretValue to the prod resource group name as an example
testSecretValue: $(RESOURCE_GROUP_NAME_Prod)
pool:
vmImage: ubuntu-latest
# creates an environment if it doesn't exist
environment: 'Prod'
strategy:
# default deployment strategy, more coming...
runOnce:
deploy:
steps:
- template: run-publisher-with-env.yaml
parameters:
API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH: ${{ parameters.API_MANAGEMENT_SERVICE_OUTPUT_FOLDER_PATH }}
RESOURCE_GROUP_NAME : $(RESOURCE_GROUP_NAME_Prod)
CONFIGURATION_YAML_PATH: $(Build.SourcesDirectory)/configuration.prod.yaml
ENVIRONMENT: "Prod"
COMMIT_ID: ${{ parameters.COMMIT_ID }}