AI

8種類のCI/CD設定をGitHub Actionsへ移すCopilotエージェントを公開

この記事のポイント

  1. 実現したこと

    JenkinsやGitLabなど8種類のCI/CDシステムからGitHub Actionsへの移行を支援するエージェントを利用できる。

  2. 実現の仕組み

    エージェントは移行元の設定ファイルを読み、変換パターンを収めた知識ベースを参照してワークフローを生成する。

  3. 得られた結果

    移行手順にはactionlintによる検証が含まれ、プルリクエストには検証結果などを記した報告を残す。

  4. 従来との違い

    クラウド版が実行時に取得する知識ベースを、CLI版では分割済みスキルとして同梱した。

8種類のCI/CD設定が変換され、GitHub Actionsのワークフローとなって検証される流れ
AI生成画像

8種類のCI/CDシステムの設定を読み取り、GitHub Actionsのワークフローへ変換するCopilotエージェント群が公開された。変換パターンの参照、生成結果の検証、元ファイルの保存と移行報告を一連の手順に組み込む。

8種類の移行元と共通パターンを扱う

GitHubが公開したGitHub Actions Migration Agentsには、Jenkins、Azure DevOps、CircleCI、GitLab、Travis CI、Bamboo、Bitbucket Pipelines、Drone CI向けの移行エージェントがある。移行元ごとに異なる設定形式を受け持ち、GitHub Actionsのワークフローへ変換する構成だ。

別のエージェントであるReusable Workflow Builderは、複数のGitHub組織にあるCI/CDの共通パターンを検出し、再利用可能なワークフローを生成する。個々の移行に加え、組織をまたいで繰り返される処理も対象にしている。

設定ファイルを変換知識へ照らしてワークフローを生成

移行手順は、既存のCI/CD設定ファイルを読み取るところから始まる。エージェントは、その内容をプラットフォーム別の変換パターンやGitHub Actionsへの対応関係を収めた知識ベースに照らす。

参照した変換パターンを使い、エージェントは.github/workflows/以下に置くGitHub Actionsのワークフローを生成する。移行元の設定を読み取った結果が、移行先で使う設定ファイルにつながる。

生成結果を検証し、元の設定と判断記録を残す

生成したワークフローには、actionlintによる検証工程が続く。検証結果は、移行のプルリクエスト本文に記す報告へ引き継がれる。

成果物には、元の設定ファイルとMIGRATION-README.mdを保存する.github/ci-archive/も含まれる。プルリクエストの報告には、検証結果のほか、必要なシークレット、次の作業、参照した知識ベースを記載する。

クラウド版とCLI版で知識ベースの渡し方を分ける

Copilot cloud agent版のエージェントは、企業の.github-privateリポジトリへ配置する。変換に使う知識ベースは、実行時にGitHub MCP server経由で取得する。

Copilot CLI版はプラグインとして提供され、知識ベースを分割済みのスキルとして同梱する。こちらは実行時に知識ベースを取得せずに、同じ移行手順を利用する構成だ。