Ga naar hoofdinhoud

Setup automatisch

Template Specs

Voor de App Services die hierboven beschreven staan bestaan Template Specs in de iprox Resource Group. Deze kunnen zo nodig aangepast worden als het sjabloon anders moet worden.

De Template Specs zijn:

Azure CLI

Om een volledige straat uit te rollen kan het handig zijn om een PowerShell script te maken. Hieronder volgt een voorbeeld. Een aanroep zou kunnen zijn:

 .\iprox-deploy-openapi.ps1 -name TestAPI202102011506 -subscription IPROX -resourceGroup iprox

Bedenk wel dat géén van de combinaties

  • app-[site_name]-prod.azurewebsites.net
  • app-[site_name]-acc.azurewebsites.net
  • app-[site_name]-prod-cms.azurewebsites.net
  • app-[site_name]-acc-cms.azurewebsites.net

Bezet mag zijn.

iprox-deploy-openapi.ps1

Param
(
[parameter(Position=0, Mandatory=$true)]
[String]
$subscription = $(throw "Subscription is required. Usage Example: .\iprox-deploy-openapi.ps1 -subscription SubName"),

[parameter(Position=0, Mandatory=$true)]
[String]
$resourceGroup = $(throw "Resource Group is required. Usage Example: .\iprox-deploy-openapi.ps1 -resourceGroup ResGrpName"),

[parameter(Position=1, Mandatory=$true)]
[String]
$name = $(throw "Name is required. Usage Example: .\iprox-deploy-openapi.ps1 -name Name")
)
$name_acc_cms = "app-" + $name + "-acc-cms"
$name_prod_cms = "app-" + $name + '-prod-cms'
$name_acc_api = "app-" + $name + "-acc"
$name_prod_api = "app-" + $name + "-prod"
Write-Host ("Subscription: " + $subscription)
Write-Host ("Resource group: " + $resourceGroup)
Write-Host ("Name: " + $name)

function Deploy-OpenApi-AppService {
Param
(
[parameter(Position=0, Mandatory=$true)]
$templateSpecId,

[parameter(Position=1, Mandatory=$true)]
[String]
$siteName
)

az deployment group create `
--subscription $subscription `
--resource-group $resourceGroup `
--template-spec $templateSpecId `
--parameters site_name=$siteName
}

# CMS Acceptatie
$iprox_openapi_cms_acceptatie_id = $(az ts show --name ts-iprox-openapi-cms-acceptatie --subscription IPROX --resource-group iprox --version "1.0" --query "id")
Write-Host ("Deploying Template Specification with ID " + $iprox_openapi_cms_acceptatie_id)
Deploy-OpenApi-AppService -templateSpecId $iprox_openapi_cms_acceptatie_id -siteName $name_acc_cms

# API Acceptatie
$iprox_openapi_api_acceptatie_id = $(az ts show --name ts-iprox-openapi-api-acceptatie --subscription IPROX --resource-group iprox --version "1.0" --query "id")
Write-Host ("Deploying Template Specification with ID " + $iprox_openapi_api_acceptatie_id)
Deploy-OpenApi-AppService -templateSpecId $iprox_openapi_api_acceptatie_id -siteName $name_acc_api

# CMS Productie
$iprox_openapi_cms_productie_id = $(az ts show --name ts-iprox-openapi-cms-productie --subscription IPROX --resource-group iprox --version "1.0" --query "id")
Write-Host ("Deploying Template Specification with ID " + $iprox_openapi_cms_productie_id)
Deploy-OpenApi-AppService -templateSpecId $iprox_openapi_cms_productie_id -siteName $name_prod_cms

# API Productie
$iprox_openapi_api_productie_id = $(az ts show --name ts-iprox-openapi-api-productie --subscription IPROX --resource-group iprox --version "1.0" --query "id")
Write-Host ("Deploying Template Specification with ID " + $iprox_openapi_api_productie_id)
Deploy-OpenApi-AppService -templateSpecId $iprox_openapi_api_productie_id -siteName $name_prod_api