欢送拜访我的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:程序员欣宸

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