随着GitHub的规模不断扩增,程式码库也越来越庞大,为了让GitHub新的开发成员快速上手,以及提供更方便的开发环境,GitHub工程团队从原先以macOS为中心的开发模型,转而使用Codespaces,并且采用预建置等方法,将启动开发环境的时间缩减至10秒钟。另外,GitHub也宣布,开始向Team和Enterprise Cloud方案用户提供Codespaces,并扩展个人方案用户的测试规模。
距离GitHub.com第一个程式码提交已经14年,在这14年间,GitHub.com核心储存库已经收到超过一百万次提交,而这些提交绝大多数,来自在macOS上建置和测试的开发人员,而随着GitHub开发平台不断发展,macOS模型已经不适用。
多年来,GitHub采用一种称为Scripts-to-rule-them-all的方法,让新加入开发团队的成员,可以复制github/github储存库、执行设定、载入脚本,并且能够在半天的时间,就成功于本地执行个体执行GitHub.com,当流程无法顺利进行,则脚本会自动帮新进成员连接到内部支援人员,以快速解决问题。
但GitHub提到,尽管他们做出许多努力,但本地端开发环境仍然非常脆弱容易出错,有时候甚至需要开发者花数小时的时间来恢复开发环境,而且这种情形并不少见,他们甚至特别编写了一个称为--nuke-from-orbit的脚本来解决这类问题,该脚本会尝试删除设定,尽可能将本地环境恢复成为良好状态。
另外,GitHub认为,单一上下文且订制的本地端开发环境,与现在GitHub的营运需求,包含即时启动、从任何地方存取的哲学格格不入,开发者在跨多个专案的多个分支上协作更是不便,当新分支加入新的相依项目、发布架构更改或是从不同的SHA分支的时候,常需要花费45分钟以上的等待时间。
在GitHub建构Codespaces时,他们发现不少企业遭遇相同的问题,而这些企业也在组织内建构类似Codespaces的平台,来解决这类问题,GitHub提到,在大规模的组织中,消除这类型的生产力损失,将会是明显提升生产力的好方法。
Codespaces是GitHub在2020年发布的新服务,让用户可以直接在网页IDE编辑程式码,并且使用所有VS Code浏览器版本的所有功能,包括配置程式码和相依项目等功能,其一大优点是可以简单地切换开发环境。官方提到,将GitHub.com程式码库搬到Codespaces,解决了GitHub开发环境现有的缺点。
Codespaces让开发者依据手上任务,按需获取开发环境,不过,这也带来新的问题,基于任务的工作流程,需要接近即时的速度,但因为光是简单地复制GitHub.com储存库13 GB的档案,就需要20分钟,再加上相依性配置设定,要完整载入一个GitHub.com程式码空间,需要花费45分钟,这个时间无法满足基于任务的开发环境条件。
因此GitHub进行了一些方法来加速获取程式码库的速度,首先是改变Codespaces复制的方法,让Codespaces进行浅层复制,不在配置时进行完整复制,仅在最新的程式码提交,Codespace创建之后,才会在背景进行非浅层复制,这样可使得一开始复制时间,从20分钟降为90秒。同时,GitHub每晚还会执行一个GitHub Action,将储存库、相依项目和建置等档案打包成为映像档,这个映像档被用作github/github的开发容器,以配置即程式码的方式建构Codespaces环境。
这两项改变以及一些应用和服务层级的最佳化,使得GitHub.com程式码空间的创建时间,从45分钟缩短至5分钟。虽然5分钟已经是很大的进步了,但是GitHub仍不满足,因此他们又采用预建置方法,在Codespaces池中准备事先启动的开发环境,等待需要的开发者连接存取,这样的方法可以让开发者在10秒内,立即使用到GitHub.com开发环境。
在Codespaces中,GitHub能够简单地配置每个开发者所使用的机器规格,一开始使用8核心、16 GB内存的虚拟机器,为了符合更多元服务的需求,因此进一步提高机器规格到32核心、64 GB内存的虚拟机器,GitHub提到,这个过程只需要更改一行配置,就能够立刻升级每个工程师的机器。
除了使用VS Code作为主要来操作程式码空间的工具,原本使用Vim和Emacs的用户,也能够使用程式码空间,GitHub借由升级预建置映像档,让该映像档使用GitHub公钥,并且开启22连接埠,并从埠口转送程式码空间,让不使用图形界面编辑器的用户也可以用到Codespaces。
相关文章
- YouTube更新违反规定政策,提升惩处透明度和一致性
2023-12-31 14:00:52
- 传苹果将把中国iCloud正式交给本地化经营 苹果手机icloud换区存储操作
2023-12-27 18:34:43
- 刘德华代言什么手机?刘德华成华为Mate 60 RS非凡大师华为5G新手机代言人
2023-09-26 21:55:08
- WebOS新系统:Palm Pre手机最新款高价登港
2023-06-23 15:39:14
- 帮助企业组织对抗勒索软件,资安通报机构设立防护专区,可协助事前、事中与事后因应
2023-06-22 09:36:10
- 蔚来全系产品降价3万 取消免费换电 换一次电池180元
2023-06-12 17:27:49
- 电商平台三巨头开打最大规模折扣 价格战再次打响
2023-03-05 18:58:40
- 爱立信节省成本裁员四千人 爱立信全球员工总数五分之一
2023-02-24 22:27:29
- 蜜芽关停近况,八位数重金买三字顶级新域名mia.com也关闭
2023-02-23 16:18:14
- 联想CEO杨元庆:联想集团需要裁员32%削减部分业务支出
2023-02-18 12:45:25
- 蓝色光标2022营收亏损18亿 客户预算减少明显
2023-02-18 12:40:08
- 三星工厂或将80%生产转至越南 因本地劳动力成本上升
2023-02-17 23:09:16
- 香港八达通卡如何激活?没用失效过期余额怎么办
2023-02-17 18:34:51
- 中兴通讯被曝将裁员20% 称只裁国外的
2023-02-17 18:33:26
- 苹果新iPhone15Pro手机终于改用USB-C(火牛)数据线??Lightning充电接口退出
2023-02-17 16:57:22
- 突发!蓝色光标曾为中国民企500强龙头 如今业绩亏损断崖下跌
2023-02-16 14:31:19
- 三星发布自家carplay车载中控系统 Car Mode for Galaxy 可以连接carplay吗?
2023-02-14 00:53:17
- Opera浏览器宣布集成ChatGPT 一键生成网页内容摘要
2023-02-14 00:32:08
- 谷歌google计划重返进入中国市场?但结果可能令你失望
2023-02-13 16:57:15
- Zoom紧急裁员1300人 佔员工总数15%
2023-02-08 14:59:11
最新资讯
- 淘宝天猫仅退款属于诈骗吗?淘宝天猫开始部分取消仅退款2024-10-01 13:01:28
- 哈啰app借钱|哈啰借钱app下载安装免费小小上当和电话骚扰2024-10-01 11:22:38
- 白嫖党|山西大同大学学生网购申请“仅退款”被拒骂客服一小时2024-09-27 09:10:44
- 北大数学教授袁新意《姜萍事件的疑点分析》点评姜萍板书 阿里巴巴竞赛受质疑2024-06-28 10:07:40
- 天猫新规可以无条件申请“仅退款”了?淘宝天猫又离狗多多零元购近了一步2024-06-28 09:27:13
手机
- 中国11月手机出货量增34% 5G手机出货量2709.2万部2023-12-28 19:27:57
- 荣耀发布新一代旗舰荣耀Magic5系列,新款上市价格分期0首付3999元起2023-03-06 16:12:32
- 美国商务部指违禁,长江存储被美国拜登制裁名单面临停工裁员2023-02-17 18:41:53
- 苹果Apple iOS车载系统CarPlay支持哪些更多汽车品牌2023-02-02 17:33:27
- 香港去哪买三星手机回来吗? 买香港便宜售价手机市场地点和网站2023-02-02 11:03:11
数码
- 华为5G芯片正式亮相:预示华为将发首款5G手机2023-08-31 13:22:33
- 腾讯传计划放弃虚拟现实VR硬件计划2023-02-17 23:32:30
- 三星手机份额大跌!三星手机中国市场份额变化国内仅剩3%2023-02-01 17:06:15
- 三星手机份额大跌在中国没市场了!国内市场占有率仅剩1%国外比苹果销量高2023-02-01 16:59:53
- vivo发布2022 vivoNEX手机极简易浏览器下载:简洁流畅无广告!2022-12-02 17:29:30
科技
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09
- 科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯2023-02-17 18:46:15