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 マネージャー ガイドをご覧ください。
既存の 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" } }