Publicité
Publicité

Contenu connexe

Publicité
Publicité

VSCode Remote Development

  1. VSCode Remote Development DDT-數位架構發展部 企業架構科 鄭淳尹 Philipz 2021/4/21
  2. VSCode Remote Development架構 https://code.visualstudio.com/docs/remote/remote-overview 優點 • 一致且易於重製的開發工 具鏈,在同一作業系統上, 彼此亦不會相互影響。 • 容器化隔離開發環境可快 速切換,放心且安全地更 新升級,不必擔心會影響 本機作業環境。 • 開發團隊新成員或外包廠 商可更快更輕鬆地在一致 的開發環境中啟動及運行。 • 試用新技術或開源程式庫 之範例,不會異動或影響 到本機配置。
  3. Cloud IDE平台逐漸浮上檯面 從被AWS併購的Cloud9和微軟推出的GitHub Codespaces,到Gitpod,顯示雲原生時代軟體開發趨勢 https://www.gitpod.io/
  4. 以Java語言為例 請先安裝 Remote - Containers 延伸套件 安裝後,VSCode左下角會出現Dev Container狀態條 進入到容器開發環境,Dev Container狀態條會改變並顯示名稱
  5. 步驟:點擊狀態條,選擇Java跟Version 11 透過簡單的選取,就可自動產生.devcontainer目錄,及其設定檔和Dockerfile
  6. 在Dev Container中有完成相同目錄資料,是透過Docker Volume掛載 Dockerfile是由微軟所維護,可自行安裝成符合自身需要的程式或設定,加上RUN apt install
  7. 微軟GitHub有各種語言的Dev Container詳細使用說明 https://github.com/microsoft/vscode-dev-containers/tree/master/containers/java
  8. 可在Dev Container環境,安裝 VSCode 延伸套件 devcontainer.json除了紀錄延伸套件,還可傳入變數到Dockerfile、指定對應Port、修改shell種類等設定 https://code.visualstudio.com/docs/remote/devcontainerjson-reference
  9. Spring Boot專案在Dev Container中可正常debug Spring Boot延伸套件可正確辨識出專案主程式,自動產生VSCode launch.json檔
  10. 當然Google Cloud Code也可在開發容器中運行 https://github.com/philipz/cloud-code-devcontainer
  11. 線上教學 - 使用 Visual Studio Code 搭配 Docker 容器做為開發環境 https://docs.microsoft.com/zh-tw/learn/modules/use-docker-container-dev-env-vs-code/ 進階使用,如Docker Compose和Remote Docker Host等,可參考Advanced Container Configuration說明 https://code.visualstudio.com/docs/rem ote/containers-advanced 雲原生時代的程式開發也開始Web化,除了 Gitpod之外,微軟Github codespaces也是 利用Dev Container技術,將有越來越多 Web IDE可部署到k8s叢集,協助企業在後 疫情時代下管控遠端開發及雲端遷移策略 更多詳細的使用說明和介紹,可參閱網管人 第182期(2021年3月)
  12. 延伸閱讀 - VSCode + Pulumi for IaC Build a VS Code Devcontainer for Infrastructure as Code
  13. 結語 -雲原生時代只需專注在應用程式容器開發,K8s維運則全託管給公有雲服務 Google Cloud Run, AWS ECS Fargate, Azure Container Instances 從三大雲的容器服務就可看出趨勢 感謝聆聽~m(_ _)m From Gartner Decision Point for Selecting Virtualized Compute: VMs, Containers or Serverless Published 17 December 2020
Publicité