Installare le Web App site extension tramite una pipeline di Azure DevOps

di Matteo Tumiati, in DevOps,

Le site extension delle Web App di Azure sono, per l'appunto, componenti aggiuntivi che consentono di estendere la funzionalità di un'applicazione web. Queste estensioni possono essere utilizzate per vari scopi, come l'aggiunta di strumenti di gestione o di monitoraggio, l'implementazione di nuove funzionalità o l'aggiunta di supporto per nuovi linguaggi di programmazione (per esempio, il supporto in preview agli SDK di .NET). Le estensioni sono installabili direttamente dal portale di Azure o, meglio, tramite le API Kudu.

Per noi è particolarmente importante che ci siano delle API per installare le estensioni, perché ci permette di automatizzare il processo di installazione delle estensioni stesse. In particolare, ci permette di installare le estensioni in fase di rilascio, in modo da avere un processo di rilascio completamente automatizzato. Vediamone un esempio:

IFS=','
read -ra extension_array <<< "${{ parameters.extensionNames }}"

for extension in "${extension_array[@]}"; do
  if [ -n "$extension" ]; then
    url="/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Web/sites/<site>/siteExtensions/$extension?api-version=2023-01-01"
    echo "Installing extension $extension..."
    az rest --method put --uri $url --body "{\"id\": \"$extension\"}"
  fi
done

In questo esempio abbiamo dato per assodato che le estensioni arrivino già scritte all'interno di un parametro chiamato extensionNames, dove le estensioni possono essere una o più, separate da virgola. Di fatto, andiamo a scorrere tutto l'elenco delle estensioni che si vuole installare e si fa una semplice chiamata API sfruttando la CLI di Azure (che prevede il fatto che siamo già autenticati). Se l'estensione di riferimento è già installata, verrà eventualmente aggiornata.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi