云上“炼”码兵器 GitHub Codespaces

GitHub 是全球最受欢迎的开发者平台, 自从微软收购了 GitHub 后, GitHub 的功能就越来越强大,除了原有的代码管理外 , 也增加了很多硬货,这就包括了集成 CI/CD 的 GitHub Actions ,以及完善的项目管理功能, 还有一个云端的开发环境 GitHub Codespaces 。 GitHub Codespaces 并不只是一个简单的改改代码的编辑器,它还包含了一个完整开发环境 ,让你可以在云上开发完整的项目 。

什么是GitHub Codespaces

GitHub Codespaces 是云端的开发环境 , 它允许开发人员通过浏览器或从本地的 Visual Studio Code IDE 直接进行调试、维护、更改、部署 GitHub 上的代码。现阶段 GitHub Codespaces 只提供给团队和企业版本 。

云上“炼”码兵器 GitHub Codespaces_第1张图片

上图是官方对于 GitHub Codespaces 实现的描述。 你可以把 GitHub 看成一个传统的 C/S 架构。 在后端使用虚拟化技术(容器/虚拟机)设置你的代码,开发环境以及相关依赖等, 在前端部分可以通过本地安装的 Visual Studio Code 或者浏览器访问使用。

GitHub Codespaces 有几个优点:

  1. 高性能 —— 开发人员可以使用更好性能的虚拟开发环境,提高开发人员的生产力

  2. 高安全 —— 只有授权用户才能访问 GitHub Codespaces

  3. 易管理 —— 开发人员可以轻松地在每个项目的基础上管理依赖项和扩展

  4. 一致性 —— 团队开发里,通过 GitHub Codespaces 开发人员之间有统一的的开发环境,可以非常轻松地管理项目上的依赖和扩展

  5. 跨设备 —— 基于浏览器的编码体验意味着可以在任何设备上进行开发,例如 手机、 iPad、平板电脑等,从而提高了开发生产效率

通过 iPad 开发一个 Azure Functions 的项目

1.首先打开我的 iPad Safari 浏览器 , 访问我的一个 GitHub Repository , 选择Code 按钮 ,再选择 Codespaces 标签点击 New Codespaces , 你就可以启动一个基于该 Repo 下的 Codespaces 环境

云上“炼”码兵器 GitHub Codespaces_第2张图片

 2.选择成功后, 会让你选择需要的虚拟开发环境配置 (你可以根据你的需要去设置),这里我选择一个4核 CPU,8G 内存 , 32GB 存储的虚拟环境

云上“炼”码兵器 GitHub Codespaces_第3张图片

 选择后,需要稍等片刻, 这里会帮你在云端开启虚拟环境

云上“炼”码兵器 GitHub Codespaces_第4张图片

 配置成功后,在浏览器就可以启动云端的 Visual Studio Code 环境

云上“炼”码兵器 GitHub Codespaces_第5张图片

 3.按 Cmd + Shift + P 选择开发开发环境 ( Codespaces: Configure Container Features... ) , 你可以选择你的应用场景和开发的语言

云上“炼”码兵器 GitHub Codespaces_第6张图片

 如果你是第一次会让你添加相关的文件

云上“炼”码兵器 GitHub Codespaces_第7张图片

列表选择展示所有设定( Show All Definitions...)

云上“炼”码兵器 GitHub Codespaces_第8张图片

选择 Azure Functions & Python 3

云上“炼”码兵器 GitHub Codespaces_第9张图片

 创建成功后,你会看到 Repo 会新增.devcontainer文件夹,新增 devcontainer.json 和 Dockerfile .

云上“炼”码兵器 GitHub Codespaces_第10张图片

选择右下角 Rebuild / Cmd + Shift + P 选择 Codespaces: Rebuild Container 就可以配置好你的 Azure Functions 开发环境了,

云上“炼”码兵器 GitHub Codespaces_第11张图片

这里我要说说在 .devcontainer 下的两个文件

devcontainer.json

devcontainer.json 是 Codespace 下设定的开发环境配置,除了对应的 Dockefile 外, 还包括开发需要到的端口,设定,以及对应的 Visual Studio Code 插件安装。 ,像我这里就有开发的 Docker 端口, 以及 Python / Docker / Azure Functions 等插件。这个配置环境对于多人开发的项目是非常有用的,因为新的开发人员不用再关心开发环境如何配置, 节约了配置时间

云上“炼”码兵器 GitHub Codespaces_第12张图片

 例如我想安装 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 组件了

云上“炼”码兵器 GitHub Codespaces_第13张图片

Dockerfile

Dockerfile 就是对应的开发环境设置 , 当然你也可以根据自身开发需要,创建自己的开发环境容器

4.这个时候你就可以选择 Azure 环境创建 Azure Functions 应用了(这一步我就不一一介绍了, 和本地创建是一样的)

云上“炼”码兵器 GitHub Codespaces_第14张图片

 5.来谈谈调试,可以直接进行调试,就如本地应用一样,非常方便

云上“炼”码兵器 GitHub Codespaces_第15张图片

 调试成功后,你可以同步一下代码到你的GitHub

云上“炼”码兵器 GitHub Codespaces_第16张图片

当然你也可以直接通过 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

你可能感兴趣的:(开发工具,CA周记,github,azure)