在 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 模擬器僅支援本機安裝的建構工具
    • 選擇 DockerBuildpack 做為建構工具,然後指定來源
    • (選用) 如要指定要傳遞至執行中容器的任何環境變數,請展開「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 連線。
    • (選用) 勾選「讓本機網路上的其他裝置可存取這項服務」選項。
    • (選用) 如果您只想手動重新建構及執行服務,而非在變更時自動執行,請清除「自動重新建構並重新執行變更」選項。

在本機執行服務

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

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

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

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

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

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

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

    • 查看記錄:使用 Cloud Code 記錄檔探索器開啟特定部署作業的應用程式記錄檔。
    • 開啟網址:在網路瀏覽器中開啟特定服務的應用程式服務網址。
  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"
      }
    }
    

取得支援

如要提供意見回饋,請前往 GitHub 回報問題,或在 Stack Overflow 上提問。