云上“炼”码兵器 GitHub Codespaces
GitHub 是全球最受歡迎的開發(fā)者平臺(tái), ?從微軟收購了 GitHub 后, GitHub?的功能就越來越強(qiáng)?,除了原有的代碼管理外,也增加了很多硬貨,這就包括了集成 CI/CD 的 GitHub Actions ,以及完善的項(xiàng)?管理功能,還有?個(gè)云端的開發(fā)環(huán)境 GitHub Codespaces。GitHub Codespaces 并不只是?個(gè)簡單的改改代碼的編輯器,它還包含了?個(gè)完整開發(fā)環(huán)境 ,讓你可以在云上開發(fā)完整的項(xiàng)?。
什么是GitHub Codespaces
GitHub Codespaces 是云端的開發(fā)環(huán)境,它允許開發(fā)?員通過瀏覽器或從本地的 Visual Studio Code IDE 直接進(jìn)?調(diào)試、維護(hù)、更改、部署 GitHub 上的代碼。現(xiàn)階段 GitHub Codespaces 只提供給團(tuán)隊(duì)和企業(yè)版本 。
上圖是官?對(duì)于 GitHub Codespaces 實(shí)現(xiàn)的描述。你可以把 GitHub 看成?個(gè)傳統(tǒng)的 C/S 架構(gòu)。在后端使?虛擬化技術(shù)(容器/虛擬機(jī))設(shè)置你的代碼,開發(fā)環(huán)境以及相關(guān)依賴等,在前端部分可以通過本地安裝的Visual Studio Code 或者瀏覽器訪問使?。
GitHub Codespaces 有?個(gè)優(yōu)點(diǎn):
1、?性能 ? 開發(fā)?員可以使?更好性能的虛擬開發(fā)環(huán)境,提?開發(fā)?員的?產(chǎn)?
2、?安全 ? 只有授權(quán)?戶才能訪問 GitHub Codespaces
3、易管理 ? 開發(fā)?員可以輕松地在每個(gè)項(xiàng)?的基礎(chǔ)上管理依賴項(xiàng)和擴(kuò)展
4、?致性 ? 團(tuán)隊(duì)開發(fā)?,通過 GitHub Codespaces 開發(fā)?員之間有統(tǒng)?的的開發(fā)環(huán)境,可以?常輕松地管理項(xiàng)?上的依賴和擴(kuò)展
5、跨設(shè)備 ? 基于瀏覽器的編碼體驗(yàn)意味著可以在任何設(shè)備上進(jìn)?開發(fā),例如?機(jī)、iPad、平板電腦等,從?提?了開發(fā)?產(chǎn)效率
通過 iPad 開發(fā)?個(gè) Azure Functions 的項(xiàng)?
1.?先打開我的 iPad Safari 瀏覽器 , 訪問我的?個(gè) GitHub Repository , 選擇Code 按鈕 ,再選擇Codespaces 標(biāo)簽點(diǎn)擊 New Codespaces, 你就可以啟動(dòng)?個(gè)基于該 Repo 下的 Codespaces 環(huán)境
2.選擇成功后, 會(huì)讓你選擇需要的虛擬開發(fā)環(huán)境配置 (你可以根據(jù)你的需要去設(shè)置),這?我選擇?個(gè)4核CPU,8G 內(nèi)存 , 32GB 存儲(chǔ)的虛擬環(huán)境
選擇后,需要稍等?刻,這?會(huì)幫你在云端開啟虛擬環(huán)境
配置成功后,在瀏覽器就可以啟動(dòng)云端的 Visual Studio Code 環(huán)境
3.按 Cmd + Shift + P 選擇開發(fā)開發(fā)環(huán)境 ( Codespaces: Configure Container Features... ) , 你可以選擇你的應(yīng)?場景和開發(fā)的語?
如果你是第?次會(huì)讓你添加相關(guān)的?件
列表選擇展示所有設(shè)定( Show All Definitions...)
選擇 Azure Functions & Python 3
創(chuàng)建成功后,你會(huì)看到 Repo 會(huì)新增.devcontainer?件夾,新增 devcontainer.json 和 Dockerfile
選擇右下? Rebuild / Cmd + Shift + P 選擇 Codespaces: Rebuild Container 就可以配置好你的 Azure Functions 開發(fā)環(huán)境了,
這?我要說說在 .devcontainer 下的兩個(gè)?件
//
①devcontainer.json
devcontainer.json 是 Codespace 下設(shè)定的開發(fā)環(huán)境配置,除了對(duì)應(yīng)的 Dockefile 外,還包括開發(fā)需要到的端?,設(shè)定,以及對(duì)應(yīng)的 Visual Studio Code 插件安裝。像我這?就有開發(fā)的 Docker 端?,以及 Python /Docker / Azure Functions 等插件。這個(gè)配置環(huán)境對(duì)于多?開發(fā)的項(xiàng)?是?常有?的,因?yàn)樾碌拈_發(fā)?員不?再關(guān)?開發(fā)環(huán)境如何配置,節(jié)約了配置時(shí)間。
例如我想安裝 Thunder Client 插件給到開發(fā)團(tuán)隊(duì) ,就可以在 extensions 字段添加"rangav.vscode-thunderclient"
"extensions": [ "ms-azuretools.vscode-azurefunctions", "ms-azuretools.vscode-docker", "ms-python.python", "rangav.vscode-thunder-client" ],再選擇 Rebuild container 就可以為以后的開發(fā)者,安裝好 Thunder Client 組件了
//
②Dockerfile
Dockerfile 就是對(duì)應(yīng)的開發(fā)環(huán)境設(shè)置,當(dāng)然你也可以根據(jù)?身開發(fā)需要,創(chuàng)建??的開發(fā)環(huán)境容器。
4.這個(gè)時(shí)候你就可以選擇 Azure 環(huán)境創(chuàng)建 Azure Functions 應(yīng)?了(這?步我就不??介紹了,和本地創(chuàng)建是?樣的)
5.來談?wù)務(wù){(diào)試,可以直接進(jìn)?調(diào)試,就如本地應(yīng)??樣,?常?便
調(diào)試成功后,你可以同步?下代碼到你的GitHub
當(dāng)然你也可以直接通過 GitHub Actions 對(duì) Repo 進(jìn)? CI / CD 操作,這?篇幅有限我就不??多說了。
小結(jié)
GitHub Codespaces 與 GitHub ?縫連接,通過云端不僅管理好你的代碼,更可以作為開發(fā)環(huán)境,直接通過任意瀏覽器就可以完成整個(gè)研發(fā)周期的?作,降低了對(duì)本地硬件的依賴。更讓依賴于 GitHub 的個(gè)?和團(tuán)隊(duì),提供更好的?產(chǎn)?。?伙伴們快快?起來。
*相關(guān)資源
1.了解 GitHub Codespaces 更多信息,請(qǐng)?jiān)L問以下鏈接 https://docs.github.com/en/codespaces
2.Azure Functions 的開發(fā)https://docs.microsoft.com/zh-cn/azure/azure-functions/create-first-function-vs-code-python
往期推薦:
CA周記 - 2022年的第一課Rust
CA周記 - 用 Visual Studio Code 做基于 .NET MAUI 跨平臺(tái)移動(dòng)應(yīng)用開發(fā)
CA周記 - 通過 Azure ML + GitHub + GitHub Action 打通 ML 開發(fā)的任督二脈
CA周記 - 宇宙最強(qiáng)的IDE - Visual Studio 25歲生日快樂
CA周記 - “探店”低代碼
總結(jié)
以上是生活随笔為你收集整理的云上“炼”码兵器 GitHub Codespaces的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【.NET 日常开发技巧】一个性能强悍的
- 下一篇: 关于OAuth2.0 Authoriza