將服務部署至 Cloud Run 之前,您可以使用 Cloud Run 模擬器在本機開發服務。
為開發作業設定服務
如果您尚未定義 .vscode/launch.json
檔案,可以使用「Run/Debug on Cloud Run Emulator」對話方塊設定啟動作業,然後將設定儲存至 .vscode/launch.json
。如果您已設定 .vscode/launch.json
檔案,可以直接編輯該檔案。
如要在本機執行服務,請指定設定:
- 開啟指令面板 (按下
Ctrl
/Cmd
+Shift
+P
鍵,或依序點選「View」 >「Command Palette」),然後執行「Run on Cloud Run Emulator」指令。 在「Run/Debug on Cloud Run Emulator」對話方塊中,設定設定的規格:
- Cloud Run 模擬器僅支援本機安裝的建構工具
- 選擇 Docker 或 Buildpack 做為建構工具,然後指定來源
- (選用) 如要指定要傳遞至執行中容器的任何環境變數,請展開「Advanced Build Settings」,然後點選指定鍵/值組合。
名稱 說明 範例 PORT HTTP 伺服器要監聽的通訊埠。 8080 K_SERVICE 正在執行的 Cloud Run 服務名稱。 hello-world K_REVISION 正在執行的 Cloud Run 修訂版本名稱。 hello-world.1 K_CONFIGURATION 建立修訂版本的 Cloud Run 設定名稱。 hello-world - (選用) 如要指定 Cloud SQL 連線,請展開「Advanced Service Settings」,然後按一下「Connections」,並在每行指定一個 Cloud SQL 連線。
- (選用) 勾選「讓本機網路上的其他裝置可存取這項服務」選項。
- (選用) 如果您只想手動重新建構及執行服務,而非在變更時自動執行,請清除「自動重新建構並重新執行變更」選項。
在本機執行服務
定義偏好設定後,按一下「Run」即可執行服務。
如果系統提示,請驗證憑證,以便在本機上執行及偵錯應用程式。
在輸出視窗中監控部署狀態。
部署完成後,您可以開啟輸出視窗中顯示的網址,查看執行中的服務。
如要查看詳細記錄,請在輸出視窗中切換至詳細的 Cloud Run 檢視畫面。
工作階段結束後,請按一下滑鼠右鍵,使用下列指令:
- 查看記錄:使用 Cloud Code 記錄檔探索器開啟特定部署作業的應用程式記錄檔。
- 開啟網址:在網路瀏覽器中開啟特定服務的應用程式服務網址。
如果您已在啟動設定中關閉監控模式,但想要變更應用程式並重新建構及重新部署應用程式,請按一下 Cloud Code 狀態列,然後點選「開啟監控模式」。
如要停止部署作業,請按一下目前部署作業的動作列中的「停止」按鈕。
儲存密鑰
如果程式碼包含 API 金鑰、密碼和憑證等可能的機密資料,將這些資料儲存為機密資料有助於加以保護。透過 Cloud Code 與 Secret Manager 的整合,您就能安全地儲存這些密鑰,並以程式輔助的方式擷取這些密鑰。如要進一步瞭解如何使用 Cloud Code 建立及管理密鑰,請參閱 Secret Manager 指南。
自訂現有的 launch.json 設定
當您選擇執行動作時,Cloud Code 外掛程式會自動更新 launch.json
設定檔。如要進一步自訂服務的執行方式,您可以在 .vscode/launch.json
檔案中指定下列欄位:
watch:監控工作區中的變更,並重新執行服務。預設為 True。
以下範例顯示將錶設為
true
:"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:指定要使用的圖片名稱。
以下範例說明如何指定圖片名稱:
"image": "hello-world",
service:指定要使用的 Cloud Run 服務。
以下範例說明如何指定服務名稱、通訊埠和資源限制:
"service": { "name": "hello-world", "containerPort": 8080, "resources": { "limits": { "memory": "256Mi" } } },
debug:指定偵錯設定,例如遠端路徑對應,將本機路徑對應至遠端容器的路徑。
以下範例顯示偵錯區段,指出來源檔案的位置:
"debug": { "sourceFileMap": { "${workspaceFolder}": "/app" } }