103 Views
September 29, 26
スライド概要
[第 12 回 JAZUG for Women 【GitHub Copilot回】 - connpass](https://jazug.connpass.com/event/403783/) の登壇スライドです。GitHub Copilot appについてと、つくったアプリのデプロイ先としてのAzureリソースとAtomS3R AIChatbotの話です!
バックエンドエンジニア。 主にC#, Azure, Terraform, GitHub Actionsをいじっています。Microsoft MVP for Azure & Microsoft Foundry, GitHub Star
GitHub Copilot app (神) で 作ったアプリを Azure で公開しよう そしてロボットもはじめよう ~GitHub Copilot app の Skill 全部読む話をするはずが~ 2026/09/29 第 12 回 JAZUG for Women Maki Nagase @yuma_prog
Maki Nagase @yuma_prog • My Info • 株式会社ゼンアーキテクツ所属 • GitHub Star • Microsoft MVP for Azure, Microsoft Foundry • 運営・主催コミュニティ • AI駆動開発勉強会, JAZUG(Japan Azure User Group), Azureわいがや会, GitHub Vibe Riders, Hack Everything., GitHub dockyard, AOAI Dev Day • 好きな技術 • Azure PaaS, Azure AI, C#, Terraform, GitHub Copilot • 趣味 • 技術コミュニティ,アニメ,キャンプ,しゃぼん玉,法螺貝,サバゲ,などなど
GitHub Copilot app(神) とは
GitHub Copilot app とは エージェントファーストな GitHub Copilot のデスクトップアプリ https://github.com/features/ai/github-app
Agentの待ち時間で遊べるゲーム付き Home にいる Octocat をつまむと…
会話・Issue・PRからタスクを開始 コードを開いて開始ではなく、タスクからセッションを始められる!
コードをあまり意識しなくていい コードを開いて開始ではなく、タスクからセッションを始められる! 変更が競合しないよう、自動でWorktreeを作ってくれる(作らない設定もある) Issueにタスクの内容をまとめるのがおすすめ! • それがプロンプトになる • チームでプロンプトを共有しているのと同じ状態 • 後で遡って検索も可能にできる
いい感じのコードができたら
ボタン一つで実行 実行コマンドはpackage.jsonから 自動で拾ってくる 任意のコマンドを設定で追加も可能
開いたページの要素を選択して修正を依頼できる
プルリクエスト作成&Descriptionも書いてくれる
PRレビューへの対応もブラウザ開く必要なし! PRの下に表示されるこれをクリック セッションでレビューに対応を開始 返信&コメントのResolveまでやってくれる
マージまでやってくれる マージしていい状態かどうか判断した 上でマージしてくれる • 未対応のレビューコメントがあれば それに対応するべきか判断 • 対応すべきものは修正をいれる • CIが通っていなければ修正 • コンフリクトがあれば修正
Canvasも最高 • • GitHub CopilotとのやりとりをUIで表現できる MCPやAPIで外部サービスの情報も表示できる 例えば、 • Issueをカンバンで表示 • PLANに移動すると、自 動でCopilotが計画を 始める タスク管理しているSaaSを つなぐCanvasも自作可能 https://awesome-copilot.github.com/extension/accessibility-kanban/
Canvasの可能性は無限大 AIヒロインとの ギャルゲーができたり @ymd65536 https://x.com/ymd65536/status/2096128061788033411
Canvasの可能性は無限大 GitHub AI CreaditsでAI彼女をレンタルしたり @Yuhei_FUJITA https://x.com/yuma_prog/status/2096143030424309922
やっぱりGitHub Copilot appは最高だぜ! 「/create-canvas」 で作りたいことを伝えれば作ってくれる! しかもモデルの進化で、だいたい一発で動く!
そんなGitHub Copilot app作ったアプリを 公開したい
部品ごとのデプロイ先 アプリを部品に分け、部品ごとに実行・保存先を選ぶ 静的な UI Azure Static Web Apps サーバー側の処理 Azure Functions / App Service / Container Apps 画像などのファイル Azure Blob Storage JSON データ Azure Cosmos DB まず無料枠やゼロスケール可能なもので始め、要件が増えた時に高めのプランに切り替える https://azure.microsoft.com/en-us/products/app-service/static https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale https://learn.microsoft.com/en-us/azure/storage/common/storage-plan-manage-costs 3
デプロイ先の選択フロー 静的ファイルだけで動く はい Static Web Apps いいえ 小さな API・イベント処理 画像・ファイルがある はい Azure Functions いいえ 常時接続したい 処理の種類とは別に判断する Azure Blob Storage JSON データがある いいえ Azure App Service はい Container Apps express Azure Cosmos DB はい HTTP 中心で簡単に出したい 未信頼のコードを実行する Container Apps Sandboxes いいえ Azure Container Apps 出典 https://learn.microsoft.com/en-us/azure/static-web-apps/plans https://learn.microsoft.com/en-us/azure/container-apps/express-overview 4
Static Web Apps の概要 GitHub Repository push / pull request Azure Static Web Apps •静的 UI の配信 •HTTPS / カスタムドメイン •プレビュー環境 ソースリポジトリから静的フロントエンドをビルドし、 グローバル配信するサービス •GitHub または Azure DevOps との連携 •無料で自動更新される SSL 証明書 •プレビュー環境 •認証 •Azure Functions API との統合 出典 https://learn.microsoft.com/en-us/azure/static-web-apps/plans https://azure.microsoft.com/en-us/products/app-service/static 6
段階別の推奨構成 段階 推奨構成 画面を公開するだけ Static Web Apps Free 小さなフォームや CRUD 上記+Managed Functions+ Cosmos DB 理由 GitHub 連携、HTTPS、プレビュー環 境まで無料 少ない構成で UI・API・JSON DB を 分離 画像を保存する 上記+Blob Storage バイナリを DB やアプリから分離 Node/.NET/Python Web サーバー App Service Linux B1 から検証 コードを持ち込みやすく、固定月額が 分かりやすい Dockerfile がある API Container Apps Consumption 従量課金 HTTP コンテナーを最速公開 Container Apps express 対応機能内なら環境設計を減らせる AI 生成コードを実行 Container Apps Sandboxes 隔離・停止・再開が必要な時だけ採用 https://learn.microsoft.com/en-us/azure/static-web-apps/plans 出典 https://learn.microsoft.com/en-us/azure/container-apps/overview 23
GitHub Copilot appに相談して Azureでアプリを公開してみよう 今どこまでできるんだろう、と思ってやってみたら全部やってくれた • • • • • リソース選定・作成 • 要件を満たせるリソースか?の調査からやってくれた • ドキュメントに書いてないことも検証してくれた アプリのデプロイ AIモデルのデプロイ 権限周り リソース同士の接続確認
そこで今回やってみたのは
AtomS3R を使ったAIロボ! これが楽しすぎて、本当はGitHub Copilot appのSkillを細かーく喋る予定だったのに急遽内容変更しました
この子の構成 デバイス AtomS3R + Voice Base サーバー 音声を送信 • C++で顔を描画 • 音声をサーバー側に投げ、 受け取った音声を再生 Container Apps Express 呼び出し先の API API呼び出し • Voice Live APIを 呼び出す 音声を返す 応答 Voice Live API
この子の作り方 GitHub Copilot appのPlanモードで、以下のような指示を投げた M5SackのAI Chatbot(AtomS3R+VOICE Base)を使って、Microsoft Foundryの Voice Live API を使って会話できるようにしたい。WebSocketに対応しているAzureコンピュー ティングリソースでVoice Live APIと接続するような形にする。App ServiceかContainerなのか な、要調査。また、縦長の棒のような目を2つ表示して、かわいらしい見た目にしたい。目がふよふよ 動いたり、瞬きしたり笑ったりしてほしい。計画と情報収集から
この子の作り方 • Planの結果を見てフィードバック • Container Apps Expressで動か せるか調べて、とか投げた • あとはAutopilotで実装 • 動かなければログを渡して「動かない」 と伝える これだけでできた!デプロイもやってくれた
AtomS3R、ロボ初心者によさそう • 費用も安い • 簡単にしゃべらせられる • サーボ+3Dプリンターボディで色々できそう
AtomS3R、ロボ初心者によさそう • 費用も安い • 簡単にしゃべらせられる • サーボ+3Dプリンターボディで色々できそう みんなもGitHub Copilot appでロボ入門しよう!!!