GitLab 日本語
フォロー
CursorとGitLabでJavaを現代化する
Java 8からJava 21へのモダナイゼーションは、ソフトウェア開発の多くの側面を含む複雑な取り組みです。CursorのようなAIコーディングエージェントは、単一のテスト失敗の修正のような、焦点を絞ったタスクを効率的に処理できます。しかし、それらは多段階の移行における全体的な安全戦略を独立して決定することはできません。GitLabは、Duo Agent Platformを通じて、ソフトウェアライフサイクル全体にわたるAIワークフローをオーケストレーションし、これらのAI生成された変更を認定します。Issueの階層とGitLabのModel Context Protocol(MCP)サーバーは、Cursorに不可欠なコンテキストを提供し、CI/CD、セキュリティスキャン、影響分析などのGitLab機能にアクセスできるようにします。このチュートリアルでは、失敗したエンドツーエンドテストの修正、モダナイゼーションのための品質ゲートの準備、HTTP接続処理のモダナイゼーションという3つのユースケースを実演します。この進行は、小さく始めること、プロジェクトコンテキストを追加すること、そして一度に1つの境界をモダナイズすることに重点を置き、厳格なレビューとテストプロセスを通じて安全性を確保します。最初のユースケースでは、Java HTTPメトリックコレクターが503エラーが予期される場合でも、すべての2xxレスポンスを成功と見なしていたバグの修正が含まれます。Cursorは根本原因を特定し、問題を修正し、結果として生成されたマージリクエストはレビューおよびマージされ、ビヘイビiorsのベースラインが確立されました。2番目のユースケースは、堅牢な品質ゲートを確立することによって、Java 8から21へのモダナイゼーションの準備に焦点を当てています。これには、プロジェクトコンテキストをIDEに取り込むためにCursorでGitLab MCPを構成することが含まれ、Cursorは計画の詳細、ディスカッション、依存関係にアクセスできるようになります。最初のステップは、CI/CDパイプラインがJava 8とJava 21の両方を並行してテストできるようにし、テストカバレッジを増やします。次にCursorがこれらの変更を実装し、マージリクエストはCI/CDパイプラインとコードレビューをトリガーし、フィードバックはGitLabのDeveloper Flowを通じて対処されます。最後のユースケースは、レガシーなHttpURLConnection APIをJava 21のjava.net.http.HttpClientに置き換えることによる、HTTP接続処理のモダナイゼーションを含みます。これは、ビヘイビiorsの変更を分離するために、境界のある作業項目として扱われます。Cursorは、コンテキストのためにGitLab MCPサーバーを活用して置き換えを実装し、変更はDocker Composeセットアップを使用してローカルで検証されます。このアプローチにより、各モダナイゼーションステップは管理可能で、レビュー可能で、元に戻すことができ、移行プロセス全体を通じて高い安全基準を維持することが保証されます。