Azure

Azure Developer CLIが公開されたので使ってみた

はじめに

Azure Developer CLIはクライドアプリの開発者が利用するコマンドラインツールです。

2022/07/13時点ではパブリックプレビューなので仕様変更など行われる可能性もあります。ご注意ください。

azdは、テンプレート、DevOpsワークフロー、IDE間で一貫した作業を行えるコマンドです。

Azure Developer CLI とは | Microsoft Learn
Azure Developer CLI とは | Microsoft Learn

Azure でアプリを構築しデプロイ時の開発者の生産性を向上させる、Azure Developer CLI の機能の概要。

docs.microsoft.com

Introducing the Azure Developer CLI (azd): A faster way to build apps for the cloud - Azure SDK Blog
Introducing the Azure Developer CLI (azd): A faster way to build apps for the cloud - Azure SDK Blog

Introducing the public preview of the Azure Developer CLI—a new, open-source tool that accelerates t ...

devblogs.microsoft.com

Azure Developer CLIの推奨ワークフローです。

  1. テンプレートの選択
  2. ワークフローを取得してデプロイ
  3. コードを変更してコミット、実行されているアプリに自動デプロイ

これまで、手動でgithubとかパイプラインとか設定していましたがこれを自動化するものなのでしょうか。実際に試してみたいと思います。

使ってみる

最初の作業としてAzureDeveloper CLI テンプレートを展開してみます。

テンプレートはアプリコード、ツール、インフラストラクチャコードを含んでいます。

また、CI/CDパイプラインも構成できます。

サポート言語として、Node.js、Python、C#が用意されています。各テンプレートを確認するといくつかの組み合わせが用意されています。これらは自分でカスタマイズもできます。

テンプレート アプリホスト データベース
ToDo NodeJs Mongo Azure App Service Mongo用のAzureCosmosDB API
ToDo NodeJs Mongo ACA Azure Container Apps Mongo用のAzureCosmosDB API
ToDo NodeJs MongoSWA+Functions Azure Static Web Apps、Azure Functions Mongo用のAzureCosmosDB API

Azure静的Webアプリも対応しています。AKSも今後対応するようです。

言語としてJavaも今後対応するようです。

Azure Developer CLIのインストール

WSLを利用してインストールしていきたいと思います。

以下のソフトウェアを事前にインストールします。

  • git

gitはwslにはもともとインストールされているので関係ないです。

cli/docs/install_linux.md at trunk · cli/cli · GitHub
cli/docs/install_linux.md at trunk · cli/cli · GitHub

GitHub’s official command line tool. Contribute to cli/cli development by creating an account on Git ...

github.com

curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
  • Azure CLI(v 2.38.0+)

インストールされていない場合はインストール、バージョンが古い場合にはアップデートしてください。

Install the Azure CLI on Linux | Microsoft Learn
Install the Azure CLI on Linux | Microsoft Learn

Learn how to install and run the Azure CLI on Linux manually. You can install the Azure CLI on Linux ...

docs.microsoft.com

  • Azure Developer CLI(azd)
curl -fsSL https://aka.ms/install-azd.sh | sudo bash

一応、sudoで実行します。

azd-linux-amd64
install-azd: Successfully installed to /usr/local/bin/azd

バージョンを確認します。

azd version
azd version 0.1.0-beta.1 (commit 62c419b34f824a8c464e55f320f3dc8c2c153702)

 

  • NPM+Node.js(v 16.13.1 LTS)とりあえ最新版なら問題ないと思います。

テンプレートの実行

適当なフォルダを作成してazd upを実行します。

事前にaz loginでログインしておきます。

azd up --template todo-nodejs-mongo

対話式で実行されます。

Initializing a new project in /home/kudo/azd

? Please enter a new environment name: demoazd
? Please select an Azure location to use:  [Use arrows to move, type to filter]
   6. (Asia Pacific) Australia Southeast (australiasoutheast)
   7. (Asia Pacific) Central India (centralindia)
   8. (Asia Pacific) East Asia (eastasia)
>  9. (Asia Pacific) Japan East (japaneast)
  10. (Asia Pacific) Japan West (japanwest)
  11. (Asia Pacific) Jio India Central (jioindiacentral)
  12. (Asia Pacific) Jio India West (jioindiawest)
? Please select an Azure Subscription to use:  [Use arrows to move, type to filter]
>  1. MVP (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx)
  Other (enter manually)
Provisioning Azure resources can take some time.

You can view detailed progress in the Azure Portal:
https://portal.azure.com/#blade/HubsExtension/DeploymentDetailsBlade/overview/id/%2Fsubscriptions%2Fxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2Fdemoazd

デプロイの経過が表示されます。



Created Azure resources

Deploying service api

Deployed service api
 - Endpoint: https://app-api-uyorepwnbv752.azurewebsites.net/

Deploying service web

Deployed service web
 - Endpoint: https://app-web-uyorepwnbv752.azurewebsites.net/

View the resources created under the resource group demoazd-rg in Azure Portal:

デプロイが完了すると以下のようにリソースが作成されます。

 

確認

service webにアクセスしてみましょう。

 

ダッシュボードも作成されます。なにこれ便利。

まとめ

Azure Developer CLIという新たなツールが登場しました。開発者にとっては便利なツールがでてきたので、いろいろと使い道が出てくると思います。

もう少し遊んでみようと思います。


English Post

Azure Developer CLI has been released and I used it. | by Jun Kudo | Medium
Azure Developer CLI has been released and I used it. | by Jun Kudo | Medium

As of 2022/07/13, it is a public preview and may be subject to specification changes. Please be awar ...

jkudo.medium.com

-Azure
-