私の目標は、以前のバージョンを不変にすることです。定義と機能を変更してはなりません。API は、.NET 4.7.2 (依存関係の原因) に基づく ASP.NET Core で構築され、Azure App Service としてホストされます。
できれば、「バージョン情報」を追加してコードを混乱させたくありません。また、同じベース URL でバージョンをホストできる場合も同様です。
私の研究:
これにより、アプリケーション内のバージョン管理を完全に制御できます。ただし、新しいバージョンがリリースされると、すべての古いバージョンも更新されるため、変更される可能性があります。これは、 Scott が URL PATH SEGMENT VERSIONING で行っているように、既存の関数を変更することはできず、新しいバージョンを作成する必要があることを意味します。
ドキュメントで説明されているように、これはステージングに使用する必要があります。ただし、これはバージョンを「保存」するためにも使用できます。これは、すべてのデプロイメントスロットが互いに関係なくホストされているためです。
バージョンを仮想アプリケーションとしてホストすることもオプションです。ただし、App Service のすべての設定は、これらの仮想アプリケーション間で共有されます。つまり、設定を変更すると、すべてのバージョンに影響します。
これに関する私の知識は限られていますが、私が読んだことから、これもオプションです。アプリケーションのバージョンに基づいてイメージを作成し、これらをAzure Container Registeryにアップロードします。次に、これらのイメージを使用して、バージョンごとに App Service を作成します。