Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Developer CLIの振り返りとDeep Dive
Search
Kento.Yamada
October 28, 2023
Programming
650
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azure Developer CLIの振り返りとDeep Dive
Kento.Yamada
October 28, 2023
More Decks by Kento.Yamada
See All by Kento.Yamada
.NETとA2Aプロトコルの現在地
ymd65536
0
67
Google Cloud上の.NETでA2A環境を構築できる説
ymd65536
0
51
現場を渡り歩く中で技術者として大事なことを学んだ話
ymd65536
0
110
さまざまなAgent FrameworkとAIエージェントの評価
ymd65536
1
540
AIエージェントの開発と評価、GenAIOps(LLM Ops)
ymd65536
1
420
C#および.NETに対する誤解をひも解くPart2
ymd65536
0
85
AIエージェント開発、DevOps and LLMOps
ymd65536
1
830
なぜ発信するのか。何を伝えるのか Qiita Tech Festa 2025の結果報告
ymd65536
0
160
Google ADKを使ったメディア生成AI入門(概要)
ymd65536
1
210
Other Decks in Programming
See All in Programming
ALB ログから Trace を気合で繋げる技術
fohte
7
860
高専キャリア LT 発表内容
crysta1221
6
5.5k
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
420
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
300
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
300
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
1
440
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
620
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
650
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
53
34k
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
390
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
The Cult of Friendly URLs
andyhume
79
7k
4 Signs Your Business is Dying
shpigford
187
23k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
Being A Developer After 40
akosma
91
590k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Facilitating Awesome Meetings
lara
57
7.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
270
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
How STYLIGHT went responsive
nonsquared
100
6.3k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
410
Transcript
Azure Developer CLIの振り返りとDeep Dive 1 Kento.Yamada (@ymd65536)
このLTでやること • 自己紹介 • Microsoft関連技術の遍歴 • Azure Developer CLI(azd)とは? •
azdテンプレートとは?? • 利用できる環境 • インストール方法 • azdの使い方 • サポートされる言語/IaCプロバイダー • 仕様 • アップデート • Tips 2
自己紹介 3 Amazon ベストセラー獲得 Kento.Yamada (github,Twitter,zenn,Qiita@ymd65536) 経歴 • 2022年10月~現在 虎ノ門のCIer
◦ Multi Cloud Developer • (2016年~2022年9月)某通信キャリアの子会社 ◦ ITスペシャリスト
自己紹介から見えないMicrosoft関連技術の遍歴 4 現在の企業に転職するまでにやっていたこと(一部抜粋) • IEとVBAを連携させてWebオートメーションを実行するツールの修正 • Microsoft EdgeのIEモードに移行するためにWebdriverやIEの仕様を細かく調査 ◦ このときの話は記事に書いています
▪ SeleniumなしでWebDriverを操作するには - Part1 最終的にはIEっぽいブラウザを作成するところ までいきました!
Azure Developer CLI(azd)とは? 5
Azure上でアプリケーションを手軽にデプロイできる! Microsoft Learn 「Azure Developer CLI (azd)」から引用: https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/ GAアナウンス:https://devblogs.microsoft.com/azure-sdk/azd-ga-announcement/ →azdテンプレートを作成してインフラとアプリケーションをデプロイする!!
6
azdテンプレートとは?? 7 ちなみにすぐにお試しをしたい人は「Awesome AZD Templates」というテンプレート一覧からすぐにデプロイできま す。https://azure.github.io/awesome-azd/ azdで利用するAzureのインフラストラクチャやその上で動作するアプリケーションをデプロイ するテンプレートのこと インフラだけでなくアプリケーションも込みでデプロイできるというのがミソ!
利用できる環境 8
ローカル環境 9 • CLIで利用 ◦ Windows、Linux、Mac • Visual Studio Code
◦ 拡張昨機能から利用 • Visual Studio ◦ プレビュー版で利用できる サポートされている言語と環境 - 参考: https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/supported-languages-environments
ブラウザベース 10 • GitHub Codespaces → .devcontainer.jsonに設定しておくと利用できる • Azure Cloud
Shell ◦ デフォルトでインストールされてます ▪ v1.4.2 がインストールされている(2023年10月25日)
コンテナベース 11 • Dev Container → .devcontainer.jsonに設定しておくと利用できる ※Docker を利用できる環境の場合は以下のコマンドで利用できます。 ※<version>には任意のバージョン番号を入れる
docker run -it mcr.microsoft.com/azure-dev-cli-apps:<version>
インストール方法 12
インストール方法(Windows) 13 主に3つ • winget • chocolatey • スクリプトをPowerShell上で実行する 参考:Azure
Developer CLIをインストールまたは更新する https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/install-azd
インストール方法(Linux) 14 主に3つ • スクリプトをbash上で実行する • .debパッケージ • .rpmパッケージ 参考:Azure
Developer CLIをインストールまたは更新する https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/install-azd
インストール方法(Mac) 15 前提:Apple Silicon MacではRosetta 2のインストールが必要 主に2つ • HomeBrew ◦
推奨 • スクリプトをシェルで実行する 参考:Azure Developer CLIをインストールまたは更新する https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/install-azd
azdの使い方 16
よく使うコマンド 17 azd auth login 認証 azd config list azdの設定
azd env list azdで利用する環境変数のリスト azd package ビルドとパッケージング azd provision 環境構築 azd deploy デプロイ azd up package,provision,deployを1工程で実行 azd down リソースを削除する。azd upの逆
[図解] コマンドの使い方 18 azd auth login azd package azd provision
azd deploy azd up azd down azd init azd env azd config
補足:azd login → azd auth login 19 ※とはいえ、1.4.2でもazd loginを実行すると動きます。
コマンド利用時の注意点 20 azdのサブコマンドそれぞれにはアルファ版とベータ版が存在します。 アルファ版:実験的な機能であり、安定はしていない。開発中の機能 ベータ版:十分なテストがなされ、安定している。 参考:Azure Developer CLI機能のバージョン管理とリリース戦略 https://learn.microsoft.com/ja-jp/azure/developer/azure-developer-cli/feature-versi oning
サポートされる言語/IaCプロバイダー 21
サポート言語 22 • Node.js • Python • .NET • Java
サポートされるIaCプロバイダー 23 • Bicep • terraform(アルファ) ※アルファ版:実験的な機能であり、安定はしていない。開発中の機能
仕様 24
主な仕様 25 • azdはGo言語で実装 • CLIフレームワーク「Cobra」 ◦ ルートを作ったらその配下にサブコマンドを作るという実装 • DIコンテナ「golobby/container」
リポジトリ:https://github.com/Azure/azure-dev
アップデート 〜1.2.0から最新まで〜 26
直近のコミット履歴 27 • https://github.com/Azure/azure-dev/graphs/commit-activity このスライドを作成している間も盛んにコミットされている!!
私がJAZUGでazdを紹介した日(1.2.0)→直近まで(1.4.2) 28 1.4.2が最新バージョンです。 ※なお、ローカルインストールの場合に限る。拡張機能はバージョンが違う
v1.2.0 29
Add --preview to azd provision to get the changes. 30
v1.2.0 azd provisionに変更点を表示する--previewが追加されました。 terraformでいうところのterraform planのようなものです。
Support --principal-id param for azd pipeline config to reuse existing
service principal. 31 v1.2.0 azd pipeline configがサービスプリンシパルに対応しました。--principal-idオプションを使っ たazd pipeline configが実行できます。
Adds optional support for text templates in AKS k8s manifests.
32 Azure k8s Serviceに利用するマニュフェストテンプレートに対応しました。 v1.2.0
v1.3.0 33
Adds support for custom template sources. 34 v1.3.0 カスタムされたazdテンプレートソースに対応しました。 デフォルトではawesome-azdにあるTemplate
Libraryからの取得ですが この機能追加によって 自分で作成したテンプレートを自分の環境に配置し、限定された環境に対してazdテンプ レートを配信できます。 awesome-azd(参考):https://azure.github.io/awesome-azd/
Support for .bicepparam 35 v1.3.0 Bicep用のデプロイパラメータに対応しました。 ※What is .bicepparam ?
Bicep 0.18.4から利用できるパラメータファイルのこと 今まではjsonでパラメータを記述する必要がありました。 参考:https://github.com/Azure/bicep/releases/tag/v0.18.4
New simplified azd init to initialize your existing application for
Azure (alpha feature) 36 v1.3.0 • https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-september-2023-re lease/ 既存のアプリケーションを 参考にazdテンプレートを自動で生 成する機能が追加されました。 詳しくMicrosoftの開発者ブログに あります!
Support for Cloud Native Buildpacks (alpha feature) 37 v1.3.0 ソースコードからDockerイメージを作成できるCloud
Native Buildpacksに対応しました。 現在はアルファ版のため、実験的な実装になります。
v1.3.1 38
azd package support for user specified output paths 39 v1.3.1
azd package の機能追加 azd packageによる出力をユーザが指定したパスに設定できる機能
v1.4.0 40
Adds support for provision state to the bicep provider. 41
v1.4.0 Bicepにおいてプロビジョン(環境構築)の状態をスキップして「azd provision」の実行ができ るようになった。
Support for remote environments. 42 v1.4.0 Azure Blob Storage などを活用して環境変数をリモートで管理できます。
ストレージに配置するのはazdが生成する .envやconfig.jsonです。
v1.4.2(最新) 43
Feature Clickable Template Links in Terminal 44 v1.4.2 azd template
listというテンプレートの一覧を表示するコマンドの機能追加 出力されたテンプレート一覧にあるリンクをターミナル上でクリックできるようになりました。 ※MacおよびAzure Powershellなど特定のターミナルではリンクをクリックできない
補足:Feature Clickable Template Links in Terminal 45 こんな感じで リンク部分が青くなります。
Feature Display the Subscription Name and ID 46 v1.4.2 azd
provision コマンドの実行において サブスクリプション名とIDを表示する機能の追加です。
まとめ • azdというすごいデプロイツールがあるよ! • azdを使うと簡単にAzureのデプロイが体感できるよ! • インストール方法や利用できる環境をみたよ! • 仕様を把握する上で前提知識を3つ振り返ったよ! •
最近のアップデートをトレースしたよ! 47
Tips 48
49 • https://zenn.dev/ymd65536/articles/azd_getting_started 実はこんなこともできます!デェーン
そんなこともあろうかと準備しております!デェーン 50 • https://zenn.dev/ymd65536/articles/githubcli_getting_started