はじめに
Azure App ServiceにGit(GitHub含む)を使用してデプロイしている場合についてです。
Azureポータルのデプロイセンターでは構成時に設定したブランチからデプロイされるようになっていますが、Azureポータルからはこのブランチを変更する機能がありません。
つまり一度デプロイを切断して再構成することになってしまうのですが、切断せずに変更する方法を説明します。
ブランチを変更する方法
ブランチはKuduサービスでREST APIを呼び出すことで変更できます。
具体的な方法はここで説明されています。
Deployment branch
# Switch branch (/settings endpoint)
$ curl https://<user>:<pass>@<site>.scm.azurewebsites.net/settings \
--data "{key: 'branch', value: '<branch>' }" \
-H "Content-Type: application/json; charset=UTF-8"
<user>
と<pass>
はデプロイユーザの情報です。「発行プロファイルの取得」などから確認してください。
<site>
はApp Service名です。
<branch>
は変更したいブランチ名です。
実行するとブランチが変更されます。デプロイセンターの画面を更新して変更されたことを確認してください。
※ 2020/10/10現在、「最新の情報に更新」をしてもブランチなどの基本情報は更新されません。一度別のページに移動するか、ブラウザから更新してください。
ブランチが切り替わったらデプロイしましょう。
デプロイセンターの同期から新しいブランチでデプロイを開始します。
APIを利用してデプロイしたい場合は、その例も先程のwikiに記載されています。
バッチの紹介
先程のコマンドを使用してバッチファイルを作成しました。
blue32a/azure-change-deploy-branch
例えばKuduサービスから適当なディレクトリにバッチファイルを置いて実行できます。