Cloud Run にサービスをデプロイする前に、Cloud Run エミュレータを使用してサービスをローカルで開発できます。
開発用のサービスの構成
.vscode/launch.jsonファイルが定義されていない場合、Cloud Run エミュレータの実行 / デバッグダイアログで起動と起動の設定を指定して .vscode/launch.json の設定を保存できます。.vscode/launch.json ファイルが構成されている場合は、ファイルを直接編集できます。
サービスをローカルで実行するには、構成を指定します。
- コマンド パレットを開き(Ctrl/Cmd+Shift+Pを押下するか、[表示] > [コマンド パレット] をクリック)、[Run on Cloud Run Emulator] コマンドを実行します。
- Cloud Run エミュレータの実行 / デバッグ ダイアログで、構成の仕様を設定します。 - Cloud Run エミュレータでは、ローカルにインストールされたビルドツールのみ利用できます
- ビルダーとして [Docker] または [Buildpacks] を選択し、ソースを指定します。
- (省略可)実行中のコンテナに渡す環境変数を指定するには、[ビルドの詳細設定] を展開し、クリックして Key-Value ペアを指定します。名前 説明 例 PORT HTTP サーバーがリッスンするポート。 8080 K_SERVICE 実行されている Cloud Run サービスの名前。 hello-world K_REVISION 実行されている Cloud Run リビジョンの名前。 hello-world.1 K_CONFIGURATION リビジョンを作成した Cloud Run 構成の名前。 hello-world 
- (省略可)Cloud SQL 接続を指定するには、[高度なサービス設定] を展開し、[接続] をクリックして、1 行につき 1 つの Cloud SQL 接続を指定します。
- (省略可)[ローカル ネットワーク上の他のデバイスからサービスにアクセスする] オプションにチェックを入れます。
- (省略可)変更する際に、自動ではなく、手動で再ビルドして実行する場合は、[変更を自動的に再構築して再実行する] というチェックボックスをオフにします。
 
ローカルでのサービスの実行する
- 必要な設定を入力後、[実行] をクリックしてサービスを実行します。 
- 出力ウィンドウでデプロイのステータスをモニタリングします。 - デプロイ完了後は、出力ウィンドウに表示された URL を開いて、実行中のサービスを表示できます。 
- 詳細ログを表示するには、出力ウィンドウ内で Cloud Run の詳細ビューに切り替えます。  
- セッションが完了したら、右クリックして次のコマンドを使用します。 - ログの表示: Cloud Code ログ エクスプローラで特定のデプロイのアプリケーション ログを開きます。
- URL を開く: 特定サービスのアプリケーション サービス URL をウェブブラウザで開きます。
 
- 起動構成でウォッチモードをオフにしていて、アプリケーションを変更し、アプリケーションの再ビルドと再デプロイを行う場合は、Cloud Code のステータスバーをクリックして、ウォッチモードをオンにするをクリックします。 
- デプロイメントを停止するには、現在のデプロイメントのアクションバーの [Stop] ボタンをクリックします。  
シークレットの保管
API キー、パスワード、証明書などの潜在的なセンシティブ データがコードに含まれている場合は、それらを Secret として保存することでセキュリティを確保できます。Cloud Code Secret Manager を統合することで、これらの Secret を安全に保存し、プログラムで取得できます。Cloud Code で Secret を作成および管理する方法の詳細については、Secret Manager ガイドをご覧ください。
既存の launch.json 構成のカスタマイズ
実行アクションを選択すると、Cloud Code プラグインが launch.json 構成ファイルを自動的に更新します。サービスの実行方法をさらにカスタマイズするには、.vscode/launch.json ファイルで次のフィールドを指定します。
- watch: ワークスペースの変更を監視し、サービスを再実行します。デフォルトでは True です。 - 次のサンプルは、 - trueに設定された watch を示しています。- "watch": true,
- build: イメージのビルドに使用するビルダー(Docker、jibMaven、jibGradle、buildpacks)を指定します。 - 次のサンプルは、Docker ビルダーを示しています。 - "build": { "docker": { "path": "Dockerfile" } },- 次のサンプルは、buildpack ビルダーを示しています。 - "build": { "buildpacks": { "path": "src/requirements.txt", "builder": "gcr.io/buildpacks/builder:v1" } },
- イメージ: 使用するイメージの名前を指定します。 - 次のサンプルは、イメージ名を指定する方法を示しています。 - "image": "hello-world",
- サービス: 使用する Cloud Run サービスを指定します。 - 次のサンプルは、サービス名、ポート、リソースの上限を指定する方法を示しています。 - "service": { "name": "hello-world", "containerPort": 8080, "resources": { "limits": { "memory": "256Mi" } } },
- debug: リモートパスのマッピングなどのデバッグ設定を指定して、ローカルパスをリモート コンテナ上のパスにマッピングします。 - 次のサンプルは、ソースファイルの場所を示すデバッグ セクションを示しています。 - "debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }