GitHub 是全球最受欢迎的开发者平台, 自从微软收购了 GitHub 后, GitHub 的功能就越来越强大,除了原有的代码管理外 , 也增加了很多硬货,这就包括了集成 CI/CD 的 GitHub Actions ,以及完善的项目管理功能, 还有一个云端的开发环境 GitHub Codespaces 。 GitHub Codespaces 并不只是一个简单的改改代码的编辑器,它还包含了一个完整开发环境 ,让你可以在云上开发完整的项目 。
GitHub Codespaces 是云端的开发环境 , 它允许开发人员通过浏览器或从本地的 Visual Studio Code IDE 直接进行调试、维护、更改、部署 GitHub 上的代码。现阶段 GitHub Codespaces 只提供给团队和企业版本 。
上图是官方对于 GitHub Codespaces 实现的描述。 你可以把 GitHub 看成一个传统的 C/S 架构。 在后端使用虚拟化技术(容器/虚拟机)设置你的代码,开发环境以及相关依赖等, 在前端部分可以通过本地安装的 Visual Studio Code 或者浏览器访问使用。
GitHub Codespaces 有几个优点:
高性能 —— 开发人员可以使用更好性能的虚拟开发环境,提高开发人员的生产力
高安全 —— 只有授权用户才能访问 GitHub Codespaces
易管理 —— 开发人员可以轻松地在每个项目的基础上管理依赖项和扩展
一致性 —— 团队开发里,通过 GitHub Codespaces 开发人员之间有统一的的开发环境,可以非常轻松地管理项目上的依赖和扩展
跨设备 —— 基于浏览器的编码体验意味着可以在任何设备上进行开发,例如 手机、 iPad、平板电脑等,从而提高了开发生产效率
1.首先打开我的 iPad Safari 浏览器 , 访问我的一个 GitHub Repository , 选择Code 按钮 ,再选择 Codespaces 标签点击 New Codespaces , 你就可以启动一个基于该 Repo 下的 Codespaces 环境
2.选择成功后, 会让你选择需要的虚拟开发环境配置 (你可以根据你的需要去设置),这里我选择一个4核 CPU,8G 内存 , 32GB 存储的虚拟环境
选择后,需要稍等片刻, 这里会帮你在云端开启虚拟环境
配置成功后,在浏览器就可以启动云端的 Visual Studio Code 环境
3.按 Cmd + Shift + P 选择开发开发环境 ( Codespaces: Configure Container Features... ) , 你可以选择你的应用场景和开发的语言
如果你是第一次会让你添加相关的文件
列表选择展示所有设定( Show All Definitions...)
选择 Azure Functions & Python 3
创建成功后,你会看到 Repo 会新增.devcontainer文件夹,新增 devcontainer.json 和 Dockerfile .
选择右下角 Rebuild / Cmd + Shift + P 选择 Codespaces: Rebuild Container 就可以配置好你的 Azure Functions 开发环境了,
这里我要说说在 .devcontainer 下的两个文件
devcontainer.json
devcontainer.json 是 Codespace 下设定的开发环境配置,除了对应的 Dockefile 外, 还包括开发需要到的端口,设定,以及对应的 Visual Studio Code 插件安装。 ,像我这里就有开发的 Docker 端口, 以及 Python / Docker / Azure Functions 等插件。这个配置环境对于多人开发的项目是非常有用的,因为新的开发人员不用再关心开发环境如何配置, 节约了配置时间
例如我想安装 Thunder Client 插件给到开发团队 ,就可以在 extensions 字段添加 "rangav.vscode-thunder-client"
"extensions": [
"ms-azuretools.vscode-azurefunctions",
"ms-azuretools.vscode-docker",
"ms-python.python",
"rangav.vscode-thunder-client"
],
再选择 Rebuild container 就可以为以后的开发者,安装好 Thunder Client 组件了
Dockerfile
Dockerfile 就是对应的开发环境设置 , 当然你也可以根据自身开发需要,创建自己的开发环境容器
4.这个时候你就可以选择 Azure 环境创建 Azure Functions 应用了(这一步我就不一一介绍了, 和本地创建是一样的)
5.来谈谈调试,可以直接进行调试,就如本地应用一样,非常方便
调试成功后,你可以同步一下代码到你的GitHub
当然你也可以直接通过 GitHub Actions 对 Repo 进行 CI / CD 操作,这里篇幅有限我就不一一多说了。
GitHub Codespaces 与 GitHub 无缝连接 , 通过云端不仅管理好你的代码,更可以作为开发环境,直接通过任意浏览器就可以完成整个研发周期的工作,降低了对本地硬件的依赖。 更让依赖于 GitHub 的个人和团队, 提供更好的生产力。小伙伴们快快用起来。
1.了解 GitHub Codespaces 更多信息,请访问以下链接 GitHub Codespaces Documentation - GitHub Docs
2.Azure Functions 的开发 https://docs.microsoft.com/zh-cn/azure/azure-functions/functions-develop-vs-code