Cloud Code for Cloud Shell で既存のアプリケーションを使用する

Cloud Code は、内蔵した Skaffold を使用して、アプリケーションを実行またはデバッグします。

イメージを作成するために Kubernetes マニフェストと Dockerfile を使用して構成された既存のアプリケーションがある場合は、Cloud Code でそのアプリケーションを開いて使用できます。

追加する必要がある構成は、skaffold 構成とタイプ cloudcode.kubernetes の起動構成のみです。アプリケーションを初めて実行またはデバッグする場合は、Cloud Code を使用してこれらの構成を作成する方法を説明します。

構成の設定

アプリケーションに Dockerfile はあるものの、必要な Skaffold 構成や起動構成がない場合は、次の手順を行います。

  1. Cloud Code のステータスバーで、アクティブなプロジェクト名をクリックします。

    ステータスバーでアクティブなプロジェクト名

  2. 表示されたクイック選択メニューで、[Kubernetes 上で実行する] または [Kubernetes でデバッグする] を選択します。

  3. [Run/Debug on Kubernetes] ダイアログで、任意のビルダーとその設定を指定します。 構成名をカスタマイズすることもできます。

  4. [Debug] または [Run] をクリックします。

    新しく作成した skaffold.yaml および cloudcode.kubernetes 起動構成がワークスペースに追加され、アプリが実行されるか、デバッグの準備が整います。

すでに skaffold.yaml があるアプリケーションの構成の設定

すでにアプリケーションに skaffold.yaml ファイルがある場合は、次の手順を実施します。

  1. Cloud Code のステータスバーで、アクティブなプロジェクト名をクリックします。

    ステータスバーでアクティブなプロジェクト名

  2. 表示されたクイック選択メニューで、[Kubernetes 上で実行する] または [Kubernetes でデバッグする] を選択します。

  3. ワークスペースに複数の skaffold.yaml ファイルが存在する場合は、目的の skaffold.yaml ファイルを選択します。

  4. 選択した skaffold.yaml ファイルに複数の Skaffold プロファイルが存在する場合は、目的の Skaffold プロファイルを選択します。

    新しく作成された cloudcode.kubernetes 起動構成がワークスペース(.vscode/launch.json 内)に追加され、アプリが実行されるか、デバッグの準備が整います。

Skaffold 構成の手動作成

Skaffold 構成を手動で作成して、カスタム オプションを定義することもできます。Cloud Code には、Skaffold の構成の手動作成をサポートするライブ テンプレートが付属しています。

Skaffold 構成を手動で作成するには:

  1. ワークスペースのルート ディレクトリに skaffold.yaml という名前の新しいファイルを作成します。

  2. ファイル内の Command/Ctrl+Space を押してスニペットの候補のリストを表示し、[Skaffold - Getting-started] スニペットを選択します。

    手動インテリセンスで Skaffold 構成を作成する

  3. プロジェクト イメージ名を image フィールドに入力し、デプロイする Kubernetes リソースのリストを manifests フィールドに入力します。

    Dockerfile ベースのビルドの例:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    

    さまざまなコンテキストに対してビルド、テスト、デプロイの構成を定義する場合、さまざまな Skaffold プロファイルを使用できます。次のサンプルは、Cloud Build を使用してイメージをビルドするように Cloud Code を構成する Cloud Build プロファイルです。

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    

    包括的なスキーマの詳細については、skaffold.yaml リファレンスをご覧ください。

次のステップ