背景と目的
Azure CLI をバージョンアップしていくと、昔書いた Azure CLI のコードが動かなくなるケースがあります。これは、Azure CLI のリリースノートで「破壊的変更」と書かれたコマンドがあり、そのバージョンからは以前の仕様で動作しなくなる事を意味します。ところが、Azure CLI は同一 PC 内に複数のバージョンをインストールする事ができません。しかしながら、少しの工夫で異なるバージョンの Azure CLI を実行する事が可能なので実際やってみました。
Python を使って複数バージョンの Azure CLI をインストール&実行
bash
$ python3 --version
Python 3.10.8
$ python3 -m venv azcli236
$ . azcli236/bin/activate
$ pip install azure-cli==2.36.0
$ az version
{
"azure-cli": "2.36.0",
"azure-cli-core": "2.36.0",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
$ deactivate
$ python3 -m venv azcli237
$ . azcli237/bin/activate
$ pip install azure-cli==2.37.0
$ az version
{
"azure-cli": "2.37.0",
"azure-cli-core": "2.37.0",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
$ deactivate
Docker を使って複数バージョンの Azure CLI を実行
bash
$ docker --version
Docker version 20.10.21, build baeda1f
$ docker run --name azcli236 -it mcr.microsoft.com/azure-cli:2.36.0
bash-5.1# az version
{
"azure-cli": "2.36.0",
"azure-cli-core": "2.36.0",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
bash-5.1# exit
$ docker rm azcli236
$ docker run --name azcli237 -it mcr.microsoft.com/azure-cli:2.37.0
bash-5.1# az version
{
"azure-cli": "2.37.0",
"azure-cli-core": "2.37.0",
"azure-cli-telemetry": "1.0.6",
"extensions": {}
}
bash-5.1# exit
$ docker rm azcli237
参考