Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20260714_actions-migrations-via-copilot で見る Age...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

20260714_actions-migrations-via-copilot で見る Agentic DevOps の実践

GitHub 公式リポジトリ `actions-migrations-via-copilot` を題材に、GitHub Copilot Custom Agent を使った CI/CD 移行を検証した資料です。

Azure DevOps Pipelines から GitHub Actions への移行を例に、生成された workflow、MIGRATION-README、セットアップで詰まったポイント、`gh-actions-importer` との違いを整理しています。

CI/CD 移行は単なる YAML 変換ではなく、Secrets / Variables、OIDC、Runner、Environment などの設計判断が必要です。Copilot Agent が移行ドラフトやレビュー観点の整理にどこまで使えるのか、Agentic DevOps の実践例として紹介します。

Avatar for yutakaosada

yutakaosada

July 06, 2026

More Decks by yutakaosada

Other Decks in Technology

Transcript

  1. 今日話すこと DO WHAT MATTERS 2 01 なぜ CI/CD 移行を Agentic

    DevOps の題材にするのか 0:00–3:00 02 従来アプローチ:gh-actions-importer の整理 3:00–6:00 03 actions-migrations-via-copilot の概要と全体構成 6:00–10:00 04 セットアップで見えた現実(詰まりポイント共有) 10:00–15:00 05 Azure DevOps → GitHub Actions 移行の検証結果 15:00–21:00 06 Agent ができたこと・人間が見るべきこと 21:00–26:00 07 まとめ:Agentic DevOps の実践とは 26:00–30:00 A G E N D A https://zenn.dev/yutakaosada/articles/268f5b8c9b2fe4 Copilot Agent で CI/CD 移行を検証 - actions- migrations-via-copilot の実力と限界
  2. Yutaka Osada (長田 豊) • DevOps Engineer @Avanade Japan •

    業務 • Azureコンポーネントを活用したサー ビス構築 • 技術検証、パフォーマンスチューニン グを得意とし、T-SQLが好き。 • 技術スタック • C#, .NET, Azure(PaaS), Azure DevOps, GitHub • Please follow me DO WHAT MATTERS 3 https://github.com/yutaka-art
  3. なぜ CI/CD 移行を Agentic DevOps の題材にするのか DO WHAT MATTERS 4

    背景 GitLab → GitHub 移行の検証実績あり 従来は gh-actions-importer で変換対応 GitHub Copilot の Agentic 機能が拡大 CI/CD 移行にも新しいアプローチが登場 今回の問い GitHub Copilot Custom Agent に CI/CD 移行を依頼したら どこまで使えるのか? 題材:Azure DevOps Pipeline → GitHub Actions への移行検証 B A C K G R O U N D
  4. CI/CD 移行は YAML 変換で終わらない DO WHAT MATTERS 5 K E

    Y M E S S A G E 移行で本当に問われるのは「構文の変換」ではなく「設計の判断」 Secrets / Variables 秘匿値と設定値の 分類・整理が必要 Service Connection Azure 認証設計・ OIDC への切り替え Runner 選定 self-hosted / hosted ネットワーク要件確認 Environment 承認 承認ゲートの 再現設計が必要 セキュリティスキャ ン Security DevOps Action への対応 Glob / Shell 差分 Azure DevOps と shell の挙動の違い
  5. 従来アプローチ:gh-actions-importer DO WHAT MATTERS 6 A P P R O

    A C H 1 / 2 GitHub CLI 拡張として動作する移行支援ツール。段階的なコマンドで棚卸しから PR 作成ま で進められる。 gh actions- importer audit 移行対象の 棚卸し gh actions- importer forecast Runner 利用量 見積もり gh actions- importer dry-run workflow ローカル生成 gh actions- importer migrate Pull Request 自動作成 最新リリース v1.3.6(2023 年 10 月)。大規模移行の初期棚卸し・Runner 利用量の見 積もりには今でも有効。ただし、Agentic アプローチとは「役割」が異なる。 出典:https://github.com/github/gh-actions-importer
  6. 新しいアプローチ:actions-migrations-via-copilot DO WHAT MATTERS 7 A P P R O

    A C H 2 / 2 GitHub Copilot Custom Agents と Knowledge Base を使い CI/CD 移行を支援する GitHub 公式リポジトリ agents/ Azure DevOps Migrator Jenkins Migrator GitLab Migrator CircleCI Migrator ...など 8 種類 knowledge/ 変換ルール・マッピング 移行標準・パターン セキュリティガイド レポートテンプレート docs/ + plugin/ deployment.md operations.md extending.md CLI plugin 構成 Agent は agents/ の定義に従い、knowledge/ を参照しながら移行を進める。単発の Copilot Chat 変換とは異なり、組織標準・レビュー観点を Knowledge Base に集約できる点が特徴。 出典:https://github.com/github/actions-migrations-via-copilot
  7. 全体構成:2つのリポジトリを使い分ける DO WHAT MATTERS 8 A R C H I

    T E C T U R E GitHub Organization .github-private agents/ (移行 Agent 定義) knowledge/ (ナレッジベース) docs/ (手順書) plugin/ Custom Agent & Knowledge Base の置き場 Agent 参照 移行対象リポジトリ azure-pipelines.yml ← 移行元 src/ (.NET App) tests/ (.NET Tests) database/ (SQL Project) deploy/ (Bicep) Agent によって変換される側 .github-private と移行対象リポジトリは別々に作成する。同一リポジトリに clone するわけではない。
  8. セットアップで詰まったポイント DO WHAT MATTERS 9 S E T U P

    P I T F A L L S 1 2リポジトリ構成が直感的でない .github-private(Agent 置き場)と移行対象リポジトリを別々に作る必要がある。公式ドキュメントだけでは 分かりにくかった。 2 Copilot Agents Secret の置き場所に注意 COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN は Actions Secret ではなく Copilot Agents Secret として作成。場所を間違えると Knowledge Base 参照が失敗する。 3 GitHub App と PAT が複数必要 ワークフロー用 PAT と Knowledge Base 用 fine-grained PAT の 2 種類が必要。それぞれ用途が異なるため混 同注意。 4 Enterprise AI controls での明示的な有効化が必要 Enterprise Settings → AI controls → Custom agents で Organization を選択して有効化。設定後の反映に時 間がかかる場合がある。
  9. 検証シナリオ:Azure DevOps Pipelines の構成 DO WHAT MATTERS 10 S C

    E N A R I O 単純な Hello World CI ではなく、実務移行で困りやすい要素を含むパイプラインを検証対象にした Database SQL DACPAC Azure SQL Deploy Analyze Security DevOps スキャン BuildAndTest .NET build test / coverage DeployToDev Docker build & push (dev) DeployToStg Docker build & push (stg) パイプラインに含まれる移行難易度が高い要素 Variable Group(DatabaseRelease) Azure RM / Docker Registry Service Connection Managed DevOps Pools Environment (dev / stg) + 承認ゲート マルチテナント ACR login コメント SQL DACPAC デプロイ
  10. 生成された成果物 DO WHAT MATTERS 11 O U T P U

    T Agent 実行後、workflow YAML と移行レポートの 2 種類が自動生成された 生成ファイル構成 .github/ ├── workflows/ │ └── cicd.yml └── ci-archive/ ├── azure_pipeline_cicd.yml └── MIGRATION-README.md cicd.yml .github/workflows/ Azure DevOps の Stage/Job → GitHub Actions の job/needs に変換。Task → Action マッピング込み。 MIGRATION-README.md .github/ci-archive/ Stage/Job マッピング、必要な Secrets/Variables、OIDC 推奨、未解決事項、actionlint 結果をレポートとして整理。
  11. Agent が得意だったこと DO WHAT MATTERS 12 S T R E

    N G T H S ◎ Stage → Job の変換 Azure DevOps の dependsOn + condition を GitHub Actions の needs に正確に変換。依存関係の順序を保 持した。 ◎ Task → Action マッピング VSBuild@1 → setup-msbuild、UseDotNet@2 → setup-dotnet など、Actions エコシステムに寄せた変換 ができていた。 ◎ MIGRATION-README の生成 Stage/Job マッピング、必要な Secrets/Variables、手動作業が必要な項目、OIDC 推奨を整理。レビューす る側に非常に有用。 ◦ Secrets / Variables 候補の洗い出し 移行後に設定すべき項目を一覧化。actionlint による検証結果もレポートに含まれていた。
  12. 人間のレビューが必要だった箇所 DO WHAT MATTERS 13 R E V I E

    W P O I N T S 動作リスク glob / shell の挙動差 Azure DevOps の glob を run: でそのまま使うと失敗 の可能性。solution file を明示すべき。 設計改善 Secrets vs Variables の整理 ACR_LOGIN_SERVER 等の設定値は Secret ではなく Variables に分けて運用すべき。 セキュリティ OIDC 認証への切り替え MIGRATION-README は OIDC 推奨だが、生成 workflow は AZURE_CREDENTIALS 前提のまま。 設計改善 ACR login 設計の二重化 Azure Login と docker/login-action が並存。どちらか に統一する設計判断が必要。 環境差分 Runner の選定 Managed DevOps Pools → ubuntu-latest に置換。ネ ットワーク要件・self-hosted の要否を要確認。 基本確認 workflow 配置先の確認 .github/workflows(複数形)が正しい。単数形 .github/workflow では認識されない。
  13. gh-actions-importer vs actions-migrations-via-copilot DO WHAT MATTERS 14 C O M

    P A R I S O N gh-actions-importer 第1世代:変換ツールアプローチ actions-migrations-via-copilot Agentic AI アプローチ 強みの場面 棚卸し・見積もり・一括変 換・PR作成 文脈理解・移行レポート・レビュー観点整理 実行方法 gh actions-importer コマン ド github.com/copilot/agents から実行 出力の性質 ルールベースで安定 LLM 出力のため揺れあり カスタマイズ Custom transformer Agent 定義 + Knowledge Base 編集 大規模移行 audit / forecast が強力 個別移行検証・Batch 運用想定 メンテナンス 最終更新 2023 年 10 月 GitHub が継続開発中 どちらかが上位互換ではなく、フェーズと目的に応じた使い分けが最適
  14. まとめ DO WHAT MATTERS 15 S U M M A

    R Y Agent は人間の代替ではなく、DevOps 実務を前に進める相棒 Agent が有効だったこと 移行ドラフトの高速生成 CI/CD 構造の自動読み取り 移行レポート(MIGRATION-README)の生成 Secrets / OIDC / Environments の論点整理 レビュー観点の標準化 人間が判断すべきこと 本番適用できる設計か セキュリティ要件を満たすか(OIDC 等) Runner / Network / 権限設計 Secrets と Variables の使い分け 組織標準への適合