乐趣区

关于github:浏览器上写代码4核8G微软服务器免费用Codespaces真香

欢送拜访我的 GitHub

这里分类和汇总了欣宸的全副原创(含配套源码):https://github.com/zq2599/blog_demos

一图胜千言

  • 先上图,上面是欣宸在本人的 iPad Pro 上用浏览器写代码的实拍,右下方可见 SpringBoot 利用启动胜利的日志
  • 您可能会感觉平板配置不高,所以写代码和运行都会卡顿,集体的理论体验是能够晦涩进行,因为编译和运行这些消耗资源的操作都是在微软的云服务器上进行的,服务器的配置是 4 核 8G 内存 32G 硬盘
  • 对了,服务器一分钱不要,也不限时 …

对于 Codespaces

  • GitHub 的 Codespaces,去年网上就有热议了,这是个托管在云中的开发环境,其原理如下,咱们在本人的电脑上,用 vscode 桌面版或者网页版写代码,这些操作都会同步到微软的 Azure 虚拟机中,编译和运行代码也在虚拟机进行

  • 对于 GitHub 和微软的关系,应该是微软收买了 GitHub 吧 …
  • 以下是集体在体验后对 Codespaces 的认知
  1. 能够在浏览器上编辑您 github 仓库中的代码,网页成果做得和本地 vscode 高度类似
  2. 微软为您筹备了专属服务器(4 核 CPU,8G 内存,32G 硬盘),网页编辑代码时,对应的编译、运行 都在此服务器上运行
  • 基于以上特点,上面这些福利是实实在在可能感触到的:
  1. 能够用平板电脑在浏览器上写代码、运行代码,下图是在华为的 MatePad Pro 平板上编写 SpringBoot 利用的样子,看日志曾经启动胜利了

  • 下图实拍用平板的浏览器拜访 SpringBoot 利用的 web 服务,能够胜利,这就很实用了

  1. 您能够应用配置很低很落后的老旧电脑来做开发,因为消耗资源的操作都在专属服务器上,您本人的电脑只有能流畅运行浏览器即可

本篇概览

  • 本文指标以根本体验为主,由以下内容组成
  1. 介绍一些前提条件
  2. 说说终于能用上 Codespaces 的前因后果
  3. 创立 Codespaces
  4. 开发前的根本设置
  5. 查看服务器根本信息
  6. 在 Codespaces 上新建 GitHub 仓库分支
  7. 正式开始编码,新建一个 SpringBoot 利用,并运行和验证
  8. Codespaces 的代码提交到 GitHub
  9. 进行利用的操作
  10. 如何再次关上 Codespaces
  11. 介绍几个小问题

重要前提

  • 以下是能欢快进行本篇操作的重要前提
  1. 您的网络能够拜访 GitHub
  2. 您有本人的 GitHub 账号
  3. 您有本人的代码仓库
  4. 欣宸是个一般的 Java 程序员,所以在开发体验中用的是 Java 相干技术栈,例如代码工程是 SpringBoot 的,如果您善于的是其余语言,请自行调整

从悲观到惊喜

  • 欣宸去年就填写了在线申请表想申请应用 Codespaces,奈何间断几个月每次查看的时候都让我急躁期待,终于把这事件给忘洁净了
  • 道歉,申请地址也忘了,不过来 Codespaces 的官网看下,应该能找到申请入口
  • 工夫就这样过来了,欣宸仍然是每天吃饭睡觉工作写博客的干燥生存,直到几天前收到上面这封邮件,说我能够应用 Codespaces 的 beta 版本了

创立 codespace

  • 关上 GitHub 时,发现网页的右上角有点不一样了,如下图红框所示

  • 如同是说我曾经参加到 Codespaces 的 beta 版本中了,哎呦,惊喜呢
  • 点击上图红框中的按钮,跳转到了这个地址:https://github.com/codespaces
  • 页面展现如下图,点击右上角的 New codespace 按钮去创立 Codespaces

  • 接下来的页面要求你从本人的 GitHub 仓库和分支中抉择一个,创立 Codespaces,留神最初一个选项,是抉择你的专属服务器配置,目前只有 4 核 8G 一个配置可选

  • 4 核 8G 服务器值钱吗?参考阿里云社区给欣宸收费应用的 ECS 服务器价格,2 核 4G,一年 4068RMB,微软这诚意真是没得说了

  • 选好仓库,点击右下角的Create codespace,后盾就会开始为你创立专属服务器(官网文档中把这个称为容器)

  • 期待大概两三分钟,就看到了 vscode 的页面,明明是个 web 网页,做得却和本地装置的 vscode 高度类似

  • 留神上图右下角弹出的提醒窗口,问你是否装置 Java 插件包,请点击 Install 实现装置

根本设置

  • 应用 vscode 时,装置 java 六合一插件以及 springboot 插件是基本操作
  • 如下图,java 六合一插件包方才已装

  • 而后是 SpringBoot 插件,如下图

  • 装置实现,咱们进入开发阶段吧

查看版本

  • TERMINAL 窗口输出 mvn -version 查看以后的 maven 和 java 版本,如下图,这是个 Linux 服务器,java 版本17.0.2,maven 版本3.8.5

  • 这样的 java 和 maven 版本配置来自 GitHub 为您创立服务器时的默认配置,大概率不是您心目中最适宜的版本,其实 GitHub 是反对批改服务器配置的,不过篇幅所限,这里请求您临时忍忍,将就着把 HelloWorld 勉强运行起来,前面会有专门的文章阐明如何批改默认配置,包含 java 和 maven 版本,也包含更多深刻的配置

新建分支

  • 方才选定的代码仓库分支是dev,这个分支我还有别的用途,所以这里再新建一个分支用于开发,操作如下
  • 点击左侧底部的 git 分支图标,如下图红框地位

  • 弹出的输出窗口中,我点击了Create new branch…

  • 而后将当前目录下的内容全副删除洁净

  • 一个洁净的编码环境曾经就绪,接下来看我大展身手:为您写一个 HelloWorld 利用!

开发和运行 SpringBoot 利用

  • 新建 SpringBoot 工程

  • 依据集体习惯,我抉择了 maven 工程

  • 接下来就是惯例的创立 SpringBoot 工程的一系列问答式交互,输出 GAV、抉择库(我选了 lombok 和 spring web 两个),留神 JDK 抉择 17,这是因为以后在线环境的 JDK 是 17,至于如何批改以后环境的 JDK,下一篇文章会有具体阐明
  • 上述命令输出实现后,会弹出新的页面,进入新的 workspace,如下图,相熟的 maven 操作页面

  • 如果想切回之前的 workspace,能够依照下图操作

  • 关上利用入口类 HelloworldApplication.java,减少几行代码用于验证,我这里是用RestController 减少了一个 web 门路hello,如下图所示,编码实现后点击右上角的三角按钮启动利用

  • 开始构建工程,期间会下载依赖库,所以要稍作期待,不过微软服务器的性能和网速都没让咱们悲观,大略两三分钟后利用启动胜利

  • 当初利用在服务器上运行起来了,为了验证 web 服务是否可用,还要用到端口转发性能,也就是将服务器的某个端口映射到本地端口上,操作如下图红框

  • 在呈现的提示框中输出 8080 再回车即可,此刻列表中会呈现新的端口转发配置,点击下图红框地位,就会在浏览器关上转发地址

  • 此时,浏览器会提醒 404,如下图,这是因为咱们还没有加上 path 导致的

  • 在地址栏中,尾部追加/hello,再回车,如下图,刚刚编写的 web 接口失常返回数据了

  • 当初能够欢快的在浏览器上写代码并晦涩的运行了,破电脑也不卡的愉悦感真是难以言表

提交代码

  • 刚刚新增的分支还在微软服务器上,并没有提交的 github,记得提交,操作如下图

  • 关上 github,发现新分支曾经提交,而且还创立了 PR,你能够抉择是否合并到 main 分支

进行利用

  • 进行利用的操作很简略,在 terminal 面板输出 Ctrl+ C 即可
  • 敞开浏览器,本地电脑上仿佛啥也没有,干干净净的感觉真好

再次关上 Codespaces

  • 从新关上 Codespaces 的操作如下图所示,四步实现

偶现问题

  • 在关上 Codespaces 时,偶然会遇到下图问题,刷新页面即可复原

能够创立多少个 Codespaces

  • 对于这个问题,官网这么说的:起码能够配置 2 台外围计算机,最多能够配置 32 台
  • 官网没有提收费和付费的事件,作为收费用户,同时创立两个 Codespaces 是没有问题的

实用吗?

  • 昨天欣宸在一个社区上传了 IPad Pro 上写代码那张照片,很快就有人来回复,说 脱裤子放屁?

  • 对于这个观点,我感觉:您要是感觉平板上不好用,电脑也有浏览器吧,要是您再杠,说电脑浏览器上也不如桌面版的,那是不是微信小程序也没有必要存在了,毕竟有原生 APP
  • 所以,是否实用应该是是因人而异的吧

未完待续

  • 至此,Codespaces 最根本的体验曾经实现,置信您和欣宸一样,对默认环境的配置会感到不满,敬请期待接下来的自在定制篇,欣宸原创,不会让您悲观~

欢送关注 segmentfault:程序员欣宸

学习路上,你不孤独,欣宸原创一路相伴 …

退出移动版