とりあえず実現できたのですが、もっとうまくある方法があるのではと思っています。
GitHub Actionsを使ってAzure Web Appにデプロイしたい場合、ひとまずazure/webapps-deploy@v3
を使って次のように書けます。
- name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@v3 with: app-name: 'ghu-demo-webapp' slot-name: 'Production' package: .
このとき同時にWeb Appsの環境変数も書き換えたい時があります。具体的にはデプロイしたコードのコミットハッシュを記録しておきたい、といった目的です。探した限り、webapps-deployのアクションでは環境変数も更新する機能はない模様で、ひとまずAzure CLIを実行するアクションを使ってデプロイ後に次のアクションを実行するように定義しました。METADATA_COMMIT
という名前の環境変数にコミットハッシュを値としたものを追加(更新)します。
- name: Update Env Vars id: update-envvar uses: Azure/cli@v2.1.0 with: inlineScript: "az webapp config appsettings set -g ghu-demo -n ghu-demo-webapp --settings METADATA_COMMIT=${{ github.sha }}"
これで目的は果たせるのですが、アプリのデプロイと環境変数の更新を連続して別々に実行するのがちょっと非効率という気がしています。そもそも同時に更新する方法自体ないのかもしれないですが、そこも確認できず。 ひとまず調査した記録して残しておきました。