Gemini CLI と CI/CD スキルを使用してアプリケーションをデプロイする

1. はじめに

この Codelab では、Gemini CLICI/CD 拡張機能 を使用して、プラットフォーム エンジニアリングの「ゼロからヒーロー」ワークフローを体験します。Spring Petclinic デモや Python Flask アプリなどのアプリケーションを構築し、Google Cloud にデプロイして共有したいと考えているエンタープライズ デベロッパーの役割を担います。

複雑なパイプラインを手動で構成するのではなく、自然言語を使用して Gemini をガイドします。エージェントはプロジェクトを分析し、Google Cloud Run などの小規模なターゲット ランタイムを提案し、漏洩したシークレットのセキュリティ スキャンを実行して、デプロイを処理し、動作する URL を提供します。

演習内容

  • リポジトリのクローンを作成します(独自のリポジトリまたは Spring Petclinic などのデモアプリを使用できます)。
  • Gemini CLICI/CD 拡張機能 をインストールして構成します。
  • deploy my application などのプロンプトを使用して、デプロイ スキルをトリガーします。
  • Gemini がプロジェクトを分析し、Cloud Run を提案し、セキュリティ チェックを実行して、アプリケーションをデプロイする様子を確認します。
  • 実行中のアプリケーションを確認します。

必要なもの

  • ウェブブラウザ(Chrome など)。
  • 課金を有効にした Google Cloud プロジェクト。

この Codelab は、初心者を含むあらゆるレベルのデベロッパーを対象としています。

2. 始める前に

お支払い情報の設定

Google Cloud プロジェクトを作成または選択する

Google Cloud プロジェクトの作成

  1. Google Cloud コンソールのプロジェクト選択ページで、Google Cloud プロジェクトを選択または作成します。
  2. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。

Cloud Shell の起動

Cloud Shell は、必要なツールがプリロードされた Google Cloud 上で動作するコマンドライン環境です。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする 」アイコン をクリックします。
  2. Cloud Shell に接続したら、認証を確認します。
    gcloud auth list
    
  3. プロジェクトが構成されていることを確認します。
    gcloud config get project
    
  4. プロジェクトが想定どおりに設定されていない場合は、設定します。
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

API を有効にする

Cloud Shell で次のコマンドを実行して、このラボに必要なすべての API を有効にします。

gcloud services enable \
  cloudbuild.googleapis.com \
  run.googleapis.com \
  artifactregistry.googleapis.com

3. Gemini CLI を設定する

このステップでは、Gemini CLI と CI/CD 拡張機能をインストールして構成します。

  1. Gemini CLI がインストールされていることを確認します 。まだインストールしていない場合は、Gemini CLI スタートガイドの手順に沿って操作してください。
  2. ログイン: Google アカウントでログインすることをおすすめします。詳細については、認証ガイドをご覧ください。
  3. CI/CD 拡張機能をインストールする: 次のコマンドを実行して、GitHub から拡張機能をインストールします。
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    インストールされている拡張機能を一覧表示して、拡張機能のインストールを検証できます。
    gemini extensions list
    
  4. アプリケーションのデフォルト認証情報(ADC)を構成する: CI/CD 拡張機能では、ADC を構成する必要があります。次のコマンドを実行します。
    gcloud auth login
    gcloud auth application-default login
    
  5. デフォルトのプロジェクトとリージョンを設定する: デフォルトのプロジェクトと ADC の割り当てプロジェクトで gcloud を構成すると便利です。 は実際の値(my-project など)に置き換えてください。
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. アプリケーションをデプロイする

これで、Gemini CLI と CI/CD 拡張機能を使用してアプリケーションをデプロイする準備ができました。

リポジトリのクローンを作成する

このラボでは、一般的な Spring Petclinic サンプル アプリケーションを使用します。サポートされているランタイム(Python/Flask、Java/Spring Boot など)を使用する独自のアプリケーションがある場合は、それを使用することもできます。

  1. リポジトリのクローンを作成し、 ディレクトリに移動します。
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

Gemini にデプロイを指示する

  1. プロジェクト ディレクトリから Gemini CLI を起動します。
    gemini
    
  2. Gemini CLI シェル内で、CI/CD 拡張機能を使用してアプリケーションをデプロイします。簡単な自然言語プロンプトを使用できます。
    deploy my application
    

この後の手順

Gemini は google-cicd-deploy スキルを有効にして、次の操作を行います。

  • プロジェクトを分析する: アプリケーション タイプ(Spring Boot など)を特定します。
  • ランタイムを提案する: Google Cloud Run などの適切なランタイムを提案します。
  • セキュリティ スキャン: MCP ツールを使用して、漏洩したシークレットをスキャンします。プロンプトが表示されたら、ツールの実行を許可する必要があります。
  • 構成を抽出する: gcloud を使用して、現在のプロジェクト環境を読み取ります。
  • パラメータを提案する: デプロイ パラメータの適切なデフォルト値を提示し、確認を求めます。

提案された構成を確認し、デプロイを確認します。

完了すると、Gemini は実行中のアプリケーションの URL を提供します。

5. クリーンアップ

Google Cloud アカウントに継続的に課金されないようにするには、この Codelab で作成したリソースを削除します。

Cloud Run にデプロイした場合は、次のコマンドを使用してサービスを削除できます( はコンピューティング リージョン(us-central1 など)に置き換えます)。

gcloud run services delete spring-petclinic --region <REGION>

または、この Codelab 専用のプロジェクトを作成した場合は、プロジェクト全体を削除できます。

gcloud projects delete <YOUR_PROJECT_ID>

6. 完了

おめでとうございます!Gemini CLI と CI/CD 拡張機能を使用して、自然言語プロンプトを使用してアプリケーションを Google Cloud Run にデプロイできました。

学習した内容

  • Gemini CLICI/CD 拡張機能 をインストールして構成する方法。
  • 自然言語を使用してデプロイ フローをトリガーする方法。
  • Gemini がプロジェクトを分析し、セキュリティ スキャンを処理して、ランタイムを提案する方法。

次のステップ

  • CI/CD 拡張機能を使用して、完全なパイプラインの設計や Terraform の生成など、より高度なプロンプトを試す。
  • CI/CD 拡張機能を確認する。
  • Developer Connect の詳細を確認する。

リファレンス ドキュメント