Slide 1

Slide 1 text

2024/01/15 クラスメソッド株式会社 ⽊⽥ 雅伊⼦ re:Invent 2024の GitLabアップデート GitLab Duo with Amazon Q

Slide 2

Slide 2 text

⾃⼰紹介 https://dev.classmethod.jp/author/kidapan/ 木田 雅伊子 /きだぱん クラスメソッド株式会社 業務効率化ソリューション /ゲームソリューション部 エンジニア 主な担当製品: GitLab/Snyk/New Relic/Okta WIC フェレット (2歳)

Slide 3

Slide 3 text

お品書き ● GitLabの概要 ● GitLab Duoについて ● GitLab Duo × Amazon Q

Slide 4

Slide 4 text

GitLabの概要

Slide 5

Slide 5 text

GitLabのコンセプト 「 単⼀プラットフォームで スピーディな開発とセキュリティの双⽅を実現 」 WebベースのDevOpsプラットフォーム 開発に必要な多くの機能を提供 Gitリポジトリの管理、CI/CDパイプラインの実⾏、コラボレーション機能、 コードレビュー、プロジェクト管理など             たぬきのアイコンが目印。           実はキツネではない。              以前より、丸くなりました。

Slide 6

Slide 6 text

GitLabの魅⼒的な機能 https://about.gitlab.com/install/ https://classmethod.jp/partner/category/devops/ 多彩な展開方法 セキュリティ プロジェクト管理 DevOpsを実現できる ● 様々な方法でGitLabを使用することが可能 ● GitLabは単一のアプリケーションでDevOpsを実現 ● ロードマップに基づいたプロジェクト計画 ● 多層セキュリティ機能 ● ユーザーが安心して使用

Slide 7

Slide 7 text

Integration https://about.gitlab.com/ja-jp/integrations/

Slide 8

Slide 8 text

GitLab セキュリティ機能 SAST Static Application Security Testing: ソー スコードを解析することで脆弱性を検出 例:SQLインジェクション Dependency Scanning パッケージマネージャ( Maven、Gemsな ど)の依存関係を解析することで、既知の ライブラリの脆弱性を検出。 例:CVE-2017-5638 (Apache Struts2) License Compliance パッケージマネージャーの依存関係を解 析し、プロジェクトのポリシーに從った承認 済みや非許可のライセンスを検出。 例 :AGPLライセンス DAST Dynamic Application Security Testing: 起動中のWebアプリ(レビュー用でも)のラ ンタイム脆弱性を検出。 例:CSRF Web API Fuzz 起動中のWeb APIにランダムなリクエスト を発行。 例:500 INTERNAL SERVER ERROR Secret Detection コミットしたコードに含まれる資格情報、 シークレット、パスワードなどをチェックし、 機微な情報の漏洩を検出。 例: AWS Key Coverage Guided Fuzz ホワイトボックス的に関数、メソッドにラン ダムな引数を渡し、実行。 例:ArrayIndexOutOfBoundsException (Java), Heap-Buffer-Overflow (C++) Container Scanning Dpkgやrpmなどのパッケージマネージャを 解析し、コンテナ内の既知のライブラリの 脆弱性を検出。 例:Heartbleed, ShellShock 静的スキャン ランタイムスキャン 動的スキャン

Slide 9

Slide 9 text

GitLab Duoについて

Slide 10

Slide 10 text

https://about.gitlab.com/blog/2023/11/09/gitlab-duo-chat-beta/?utm_campaign=devrel&utm_budget=devrel

Slide 11

Slide 11 text

GitLab Duo ● 最適なレビューアーの推奨( Suggested Reviewers) ● コードの提案( Code Suggestions) ● チャット( Chat) ● 脆弱性の要約( Vulnerability Summary) ● コードの説明( Code Explanation) ● プランニングディスカッションの要約( Planning Discussions Summary) ● マージリクエストの要約( Merge Request Summary) ● MRのテンプレートポピュレーション( Merge Request Template Population) ● コードレビューの概要( Code Review Summary) ● テスト生成( Test Generation) ● Gitの提案(Git Suggestions) ● 主要因の分析( Root Cause Analysis) ● プランニング詳細の生成( Planning Description Generation) ● バリューストリームの予測( Value Stream Forecasting)

Slide 12

Slide 12 text

Beta AI Assisted code suggestions(コード提案)

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

GitLab Duo × Amazon Q

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

https://dev.classmethod.jp/articles/gitlab-duo-with-amazon-q-awsreinvent/

Slide 17

Slide 17 text

GitLab Duo with Amazon Q 主な特徴: ✓ 単⼀プラットフォームでの完結 ✓ ツール切り替え不要 ✓ セキュリティと品質基準の維持 ✓ 開発効率の⼤幅な向上 概要: ● GitLabとAmazon Qによる⾰新的な共同開発ソリューション ● AI搭載DevSecOpsプラットフォームとAIエージェントの統合 ● エンタープライズ向け開発環境の進化

Slide 18

Slide 18 text

機能について 主要機能 AIエージェントによる⾃動化 ● コード⽣成とレビュー ● ユニットテスト作成 ● Javaアプリケーションモダナイゼー ション ● イシュー更新とマージリクエスト ● プラットフォーム機能: ● ビルド/テスト/デプロイの⾃動化 ● プロジェクト単位の権限管理 ● 複数ファイル変更の⼀括⽣成 期待される効果 ● 開発サイクルの⾼速化 ● コード品質の⼀貫性向上 ● アイデアから本番環境まで の時間短縮 ● 開発者の⽣産性向上

Slide 19

Slide 19 text

4つの機能 1. Streamline feature development from idea to code 2. Modernize legacy code without the headache 3. Accelerate code reviews without sacrificing quality 4. Automate testing to ship with confidence

Slide 20

Slide 20 text

1. Streamline feature development from idea to code ◆ 特徴 ● アイデアからコードまでを⾃動化 ● Issue → コード⾃動⽣成 → MR作成まで完全 ⾃動化 ● AIが要件を分析し、最適な実装を提案 ● 所要時間わずか数分で開発⼯程を⼤幅短縮 ◆ 何が嬉しい? ● 開発時間の⼤幅短縮による⽣産性向上 ● チーム開発基準に準拠した⼀貫性のある実装 ● フィードバックベースの迅速な改善サイクル ● 開発者がより創造的な業務に注⼒可能 ◆ 導⼊効果 ● 開発サイクルの短縮化 ● コード品質の標準化 ● チーム全体の⽣産性向上 【使⽤⽅法】 ● Issueに要件を記載 ● Activity欄に"q dev"を⼊⼒ ● AIが⾃動でコード⽣成‧MR作成

Slide 21

Slide 21 text

2. Modernize legacy code without the headache ◆ 特徴 ● たった1コマンドで移⾏プロセス を開始 ● 包括的なアップグレード計画の ⾃動⽣成 ● リアルタイムな変更追跡と報告 ● ライブラリ更新情報の⾃動収集 ◆ 何が嬉しい? ● 数週間の作業を数分に短縮 ● ⼿作業によるミスを排除 ● セキュリティとパフォーマンス の向上 ● チームの作業負荷を⼤幅削減 ◆ 使⽤⽅法 ● 移⾏開始:IssueのDescriptionに"q transform"を⼊⼒ ● ⾃動⽣成:アップグレード計画とMRが作成 ● 変更確認:コミット履歴とFile Changesで追跡可能

Slide 22

Slide 22 text

3. Accelerate code reviews without sacrificing quality ◆ 特徴 ● 即時の品質‧セキュリティレポー ト⽣成 ● AIによる⼀貫した基準でのレ ビュー ● 提案された改善の⾃動適⽤が可能 ◆ 何が嬉しい? ● レビューサイクルの⼤幅な短縮 ● ⾼品質なコードの維持 ● チーム基準に基づく⾃動チェック ◆ 使⽤⽅法 • レビュー実⾏:"q review"を⼊⼒ • 改善の適⽤:"q fix"で⾃動修正

Slide 23

Slide 23 text

4. Automate testing to ship with confidence 【テストの⾃動化で⾼品質な開発を実 現】 ◆ 特徴 ● レビュー画⾯から直感的にテスト ⽣成 ● AIによる包括的なテストケース作 成 ● MRへの⾃動統合機能 ◆ 何が嬉しい? ● チーム間のテスト品質の均⼀化 ● エッジケースを含む⾼いカバレッ ジ ● テスト作成時間の⼤幅な削減 ● 早期の問題発⾒と品質維持 ◆ 使⽤⽅法 ● Function選択後、"q test"を⼊⼒ ● AIがテストを⾃動⽣成 ● ⽣成されたテストがMRに⾃動追加

Slide 24

Slide 24 text

⾒てみましょう

Slide 25

Slide 25 text

まとめ ● 要件からコードを直接⽣成し、即座にマージ可能 ● レガシーコードの⾃動最新化 ● リアルタイムのインテリジェントコードレビュー ● 開発ライフサイクル全体をAIでシームレスにサポート ● 品質とセキュリティを確保しながら開発を加速 ● チーム協働と反復開発の効率を⼤幅に向上 https://about.gitlab.com/ja-jp/blog/2024/12/03/gitlab-duo-with-amazon-q-devsecops-meets-agentic-ai/

Slide 26

Slide 26 text

関連リンク ● https://about.gitlab.com/ja-jp/blog/2024/12/03/gitlab-duo-with-amaz on-q-devsecops-meets-agentic-ai/ ● https://aws.amazon.com/jp/blogs/news/introducing-gitlab-duo-with- amazon-q/ ● https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/g itlab-getting-started.html ● https://dev.classmethod.jp/articles/git-lab-duo-with-amazonq/#gitlab -duo-with-amazon-q ● https://aws.amazon.com/jp/blogs/aws/introducing-gitlab-duo-with-a mazon-q/ ● https://aws.amazon.com/jp/about-aws/whats-new/2024/12/gitlab-du o-amazon-q-preview/

Slide 27

Slide 27 text

No content