SlideShare a Scribd company logo
VSCode Remote Development
DDT-數位架構發展部 企業架構科
鄭淳尹 Philipz
2021/4/21
VSCode Remote Development架構
https://code.visualstudio.com/docs/remote/remote-overview
優點
• 一致且易於重製的開發工
具鏈,在同一作業系統上,
彼此亦不會相互影響。
• 容器化隔離開發環境可快
速切換,放心且安全地更
新升級,不必擔心會影響
本機作業環境。
• 開發團隊新成員或外包廠
商可更快更輕鬆地在一致
的開發環境中啟動及運行。
• 試用新技術或開源程式庫
之範例,不會異動或影響
到本機配置。
Cloud IDE平台逐漸浮上檯面
從被AWS併購的Cloud9和微軟推出的GitHub Codespaces,到Gitpod,顯示雲原生時代軟體開發趨勢
https://www.gitpod.io/
以Java語言為例
請先安裝 Remote - Containers 延伸套件
安裝後,VSCode左下角會出現Dev Container狀態條
進入到容器開發環境,Dev Container狀態條會改變並顯示名稱
步驟:點擊狀態條,選擇Java跟Version 11
透過簡單的選取,就可自動產生.devcontainer目錄,及其設定檔和Dockerfile
在Dev Container中有完成相同目錄資料,是透過Docker Volume掛載
Dockerfile是由微軟所維護,可自行安裝成符合自身需要的程式或設定,加上RUN apt install
微軟GitHub有各種語言的Dev Container詳細使用說明
https://github.com/microsoft/vscode-dev-containers/tree/master/containers/java
可在Dev Container環境,安裝 VSCode 延伸套件
devcontainer.json除了紀錄延伸套件,還可傳入變數到Dockerfile、指定對應Port、修改shell種類等設定
https://code.visualstudio.com/docs/remote/devcontainerjson-reference
Spring Boot專案在Dev Container中可正常debug
Spring Boot延伸套件可正確辨識出專案主程式,自動產生VSCode launch.json檔
當然Google Cloud Code也可在開發容器中運行
https://github.com/philipz/cloud-code-devcontainer
線上教學 - 使用 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月)
延伸閱讀 - VSCode + Pulumi for IaC
Build a VS Code Devcontainer for Infrastructure as Code
結語 -雲原生時代只需專注在應用程式容器開發,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

More Related Content

PDF
微服務對IT人員的衝擊
Philip Zheng
 
PDF
VSCode Remote Development 介紹
Philip Zheng
 
PDF
Docker容器微服務 x WorkShop
Philip Zheng
 
PDF
桃園市教育局Docker技術入門與實作
Philip Zheng
 
PPTX
K8s removes dockershime
Philip Zheng
 
PDF
十二項架構設計原則
Philip Zheng
 
PPTX
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
Edward Kuo
 
PDF
認識程式交易
Philip Zheng
 
微服務對IT人員的衝擊
Philip Zheng
 
VSCode Remote Development 介紹
Philip Zheng
 
Docker容器微服務 x WorkShop
Philip Zheng
 
桃園市教育局Docker技術入門與實作
Philip Zheng
 
K8s removes dockershime
Philip Zheng
 
十二項架構設計原則
Philip Zheng
 
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
Edward Kuo
 
認識程式交易
Philip Zheng
 

What's hot (20)

PPTX
我們與Azure DevOps的距離
Edward Kuo
 
PPTX
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
Edward Kuo
 
PDF
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
Edward Kuo
 
PDF
企業導入容器經驗分享與開源技能培養
Philip Zheng
 
PPTX
容器驅動開發 - .NET Conf 2017 @ 台中
Andrew Wu
 
PDF
容器式軟體開發介紹
Philip Zheng
 
PDF
容器與 Gitlab CI 應用
Philip Zheng
 
PPTX
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
 
PPTX
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
Edward Kuo
 
PDF
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
 
PPTX
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
Will Huang
 
PDF
twMVC#41 hololens2 MR
twMVC
 
PDF
容器式基礎架構介紹
Philip Zheng
 
PDF
Docker 最佳实践
YuLing Liu
 
PDF
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
Poy Chang
 
PDF
容器式高效率 ChatBot 開發方法
Philip Zheng
 
PPTX
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
Andrew Wu
 
PPTX
[QCon 2016] 基于云平台的docker多租户安全
Zhimin Tang
 
PDF
程式交易面面觀
Philip Zheng
 
PDF
理財機器人技術簡介與實作經驗分享
Philip Zheng
 
我們與Azure DevOps的距離
Edward Kuo
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
Edward Kuo
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
Edward Kuo
 
企業導入容器經驗分享與開源技能培養
Philip Zheng
 
容器驅動開發 - .NET Conf 2017 @ 台中
Andrew Wu
 
容器式軟體開發介紹
Philip Zheng
 
容器與 Gitlab CI 應用
Philip Zheng
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
Edward Kuo
 
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
Will Huang
 
twMVC#41 hololens2 MR
twMVC
 
容器式基礎架構介紹
Philip Zheng
 
Docker 最佳实践
YuLing Liu
 
使用 Dependency Injection 撰寫簡潔 C# 程式碼原來這麼簡單 (.NET Conf 2018)
Poy Chang
 
容器式高效率 ChatBot 開發方法
Philip Zheng
 
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
Andrew Wu
 
[QCon 2016] 基于云平台的docker多租户安全
Zhimin Tang
 
程式交易面面觀
Philip Zheng
 
理財機器人技術簡介與實作經驗分享
Philip Zheng
 
Ad

More from Philip Zheng (17)

PDF
AI Coding工具介紹 - 革新程式開發流程的智能助手 by Philipz
Philip Zheng
 
PDF
Solo Leveling with Cursor by Philipz 鄭淳尹
Philip Zheng
 
PDF
從零開始做架構圖
Philip Zheng
 
PPTX
Apahce Ignite
Philip Zheng
 
PDF
Cloud Native Practice
Philip Zheng
 
PDF
理財機器人技術簡介與實作經驗分享
Philip Zheng
 
PDF
容器與資料科學應用
Philip Zheng
 
PDF
容器與IoT端點應用
Philip Zheng
 
PDF
Docker 進階實務班
Philip Zheng
 
PDF
Docker + CI pipeline 的高效率 ChatBot 開發方法
Philip Zheng
 
PDF
桃園市教育局Docker技術入門與實作
Philip Zheng
 
PDF
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
PDF
手把手帶你學 Docker 入門篇
Philip Zheng
 
PDF
程式交易介紹及 FinTech 創作分享
Philip Zheng
 
PDF
人工智能在量化投资分析中的实践
Philip Zheng
 
PDF
Trading bot演算法與軟工在程式交易上的實踐
Philip Zheng
 
PDF
Docker & GitLab
Philip Zheng
 
AI Coding工具介紹 - 革新程式開發流程的智能助手 by Philipz
Philip Zheng
 
Solo Leveling with Cursor by Philipz 鄭淳尹
Philip Zheng
 
從零開始做架構圖
Philip Zheng
 
Apahce Ignite
Philip Zheng
 
Cloud Native Practice
Philip Zheng
 
理財機器人技術簡介與實作經驗分享
Philip Zheng
 
容器與資料科學應用
Philip Zheng
 
容器與IoT端點應用
Philip Zheng
 
Docker 進階實務班
Philip Zheng
 
Docker + CI pipeline 的高效率 ChatBot 開發方法
Philip Zheng
 
桃園市教育局Docker技術入門與實作
Philip Zheng
 
時代在變 Docker 要會:台北 Docker 一日入門篇
Philip Zheng
 
手把手帶你學 Docker 入門篇
Philip Zheng
 
程式交易介紹及 FinTech 創作分享
Philip Zheng
 
人工智能在量化投资分析中的实践
Philip Zheng
 
Trading bot演算法與軟工在程式交易上的實踐
Philip Zheng
 
Docker & GitLab
Philip Zheng
 
Ad

VSCode Remote Development