在 Cloud Code for VS Code 中本機開發 Cloud Run 服務

您可以在將服務部署至 Cloud Run 之前,使用 Cloud Run 模擬器在本機開發服務。

設定服務以進行開發

如果沒有定義 .vscode/launch.json 檔案,您可以在「Run/Debug on Cloud Run Emulator」對話方塊中設定啟動作業,然後將設定儲存至 .vscode/launch.json。如果已設定 .vscode/launch.json 檔案,可以直接編輯該檔案。

如要在本機執行服務,請指定設定:

  1. 開啟指令區塊面板 (按下 Ctrl/Cmd+Shift+P 鍵,或依序點選「View」(瀏覽) >「Command Palette」(指令面板)),然後執行「Run on Cloud Run Emulator」指令。
  2. 在「Run/Debug on Cloud Run Emulator」(透過 Cloud Run 模擬器執行/偵錯) 對話方塊中,設定設定的規格:

    • Cloud Run 模擬器僅適用於本機安裝的建構工具
    • 選擇「Docker」或「Buildpacks」做為建構工具,然後指定來源
    • (選用) 如要指定任何要傳遞至執行中容器的環境變數,請展開「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 連線。
    • (選用) 勾選「Make the service accessible from other devices on the local network」(允許從區域網路上的其他裝置存取服務) 選項。
    • (選用) 如果您只想手動重建及執行服務,而非在變更時自動執行,請取消勾選「Automatically re-build and re-run on changes」(變更時自動重建及重新執行) 選項。

在本機執行服務

  1. 定義偏好的設定後,按一下「Run」執行服務。

  2. 如果系統提示,請驗證您的憑證,在本機執行及偵錯應用程式。

  3. 在輸出視窗中監控部署狀態。

    部署完成後,開啟輸出視窗中顯示的網址,即可查看執行中的服務。

  4. 如要查看詳細記錄,請在輸出視窗中切換至詳細的 Cloud Run 檢視畫面。

    輸出窗格,已從輸出通道下拉式選單中選取 hello-world-5 - Detailed

  5. 工作階段完成後,請按一下滑鼠右鍵來使用下列指令:

    • 查看記錄:使用 Cloud Code Logs Explorer,開啟特定 Deployment 的應用程式記錄。
    • 開啟網址:在網路瀏覽器中開啟特定服務的應用程式服務網址。
  6. 如果您已在啟動設定中關閉監看模式,且想變更應用程式並重建及重新部署應用程式,請按一下 Cloud Code 狀態列,然後按一下「開啟監看模式」。

  7. 如要停止部署作業,請按一下目前部署作業動作列中的「停止」按鈕。

    Cloud Run 部署作業的動作列

儲存密鑰

如果程式碼包含 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"
      }
    }
    

取得支援

如要提供意見回饋,請在 Stack Overflow 上提問。如果您是 Google Cloud 客戶,可以透過標準 Google Cloud 支援管道提交支援單。