自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

新聞 前端
近日,GitHub宣布轉(zhuǎn)移到去年5月就推出的Codespaces,現(xiàn)在,基于瀏覽器的編碼環(huán)境Codespaces配置了32核、64GB RAM的VM,提前克隆和引導(dǎo)存儲(chǔ)庫(kù),只需要10秒時(shí)間就能夠和團(tuán)隊(duì)共享開發(fā)環(huán)境。

  [[417451]]

Github宣布:轉(zhuǎn)移到 Codespaces。

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

GitHub通過博客告知開發(fā)者們,他們將其擴(kuò)展到GitHub團(tuán)隊(duì)和企業(yè)(云)計(jì)劃,開始更廣泛地推出其基于瀏覽器的編碼環(huán)境Codespaces。

這家微軟旗下的公司還宣布,內(nèi)部已經(jīng)從MacOS模式過渡到Codespaces,后者現(xiàn)在是GitHub的默認(rèn)開發(fā)環(huán)境。

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

GitHub于去年5月首次推出Codespaces,作為具有所有常用GitHub功能的云托管開發(fā)環(huán)境。

它基本上由微軟的Visual Studio Code提供支持,該代碼自2019年起作為基于Web的編輯器提供,并于去年更名為Visual Studio Codespaces。

9 月,微軟還確認(rèn)將Visual Studio Codespaces整合到GitHub Codespaces 中。

GitHub的Codespaces最初是在面向個(gè)人用戶的「有限公開測(cè)試版」中推出的,而現(xiàn)在團(tuán)隊(duì)或企業(yè)(不包括自托管)計(jì)劃中的所有企業(yè)都可以在其 GitHub設(shè)置中主動(dòng)啟用Codespaces,并且他們現(xiàn)在可以在所有私有存儲(chǔ)庫(kù)中使用Codespaces。

通過將編碼環(huán)境帶到云端,開發(fā)人員可以更輕松地加入和協(xié)作項(xiàng)目,并以最少的配置開始編碼。

在這14年中,支持GitHub.com (github/github) 的核心存儲(chǔ)庫(kù)已經(jīng)收到了超過一百萬次提交。這些提交中的絕大多數(shù)來自在 macOS 上構(gòu)建和測(cè)試的開發(fā)人員。

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

不行就換!

將GitHub遷移到Codespaces能夠解決開發(fā)者環(huán)境不同的問題。

想法有多理想,實(shí)現(xiàn)起來就有多困難。

GitHub.com存儲(chǔ)庫(kù)在磁盤上幾乎占了13GB。

只是簡(jiǎn)單地克隆一下存儲(chǔ)庫(kù),啪,20分鐘就過去了。

[[417452]]

結(jié)合依賴設(shè)置,bootstrap一下GitHub.com的代碼空間,45分鐘過去了。

一旦將存儲(chǔ)庫(kù)成功掛載到代碼空間中,應(yīng)用程序還不運(yùn)行了。

14年來,以macOS為中心的設(shè)想付之東流。

[[417453]]

但堅(jiān)強(qiáng)的工程團(tuán)隊(duì)又怎么會(huì)輕言放棄!

他們開始質(zhì)疑一直以來的設(shè)想,并在源代碼級(jí)別工作以將GitHub開發(fā)與macOS分離。

最后,雖然速度很慢,但至少可以在Linux主機(jī)上提供可用的GitHub.com代碼空間,從Visual Studio Code連接,交付一些工作。

下面來看看團(tuán)隊(duì)是如何實(shí)現(xiàn)「閃電般速度」的云端開發(fā)環(huán)境。

從45min到5min

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

使用Codespaces的目標(biāo)是希望能夠?yàn)槭诸^的任務(wù)按需提供開發(fā)環(huán)境,分支和代碼空間之間的映射大致為1:1。

為了支持基于任務(wù)的工作流,團(tuán)隊(duì)希望能夠做到「即開即用」。

團(tuán)隊(duì)不滿足于45分鐘,但是這個(gè)時(shí)間長(zhǎng)度還是能讓人看到希望。

[[417454]]

首先是要改變Codespaces克隆github/github的方式。

與之前在配置時(shí)執(zhí)行完整克隆不同,現(xiàn)在Codespaces執(zhí)行的是淺層克隆。

然后在使用最新提交創(chuàng)建代碼空間后,在后臺(tái)執(zhí)行非淺層存儲(chǔ)庫(kù)歷史記錄。

這樣克隆時(shí)間就能從20分鐘縮短到90秒!

[[417455]]

下一個(gè)要改進(jìn)的,是緩存支持GitHub.com的軟件和服務(wù)網(wǎng)絡(luò)。

包括傳統(tǒng)的基于Gemfile的依賴項(xiàng)以及用C、Go和自定義構(gòu)建的Ruby編寫的服務(wù)。

團(tuán)隊(duì)提出了一個(gè)解決方案,那就是讓GitHub Action每天晚上夜深人靜的時(shí)候悄悄運(yùn)行。

當(dāng)然是為了克隆存儲(chǔ)庫(kù),引導(dǎo)依賴項(xiàng),還有構(gòu)建和推送結(jié)果的Docker image。

發(fā)布的image隨后被用作github/github的
devcontainer-config-as-code中的基礎(chǔ)鏡像,構(gòu)成Codespaces環(huán)境。

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

在瀏覽器中通過即時(shí)重新加載來預(yù)覽更改,還能與隊(duì)友共享私有和公共端口。

就憑這兩項(xiàng)更改(以及少量應(yīng)用程序和服務(wù)級(jí)別優(yōu)化),就能將GitHub.com代碼空間的創(chuàng)建時(shí)間從45分鐘縮短到5分鐘。

不過這屆GitHub工程團(tuán)隊(duì)真的很嚴(yán)格。

他們覺得五分鐘,距離「即開即用」的目標(biāo)還有相當(dāng)大的距離。

從5min到10s

快速啟動(dòng)到代碼空間,淺層克隆方法還是很有用的,不過有時(shí)還是需要完整克隆。

所以團(tuán)隊(duì)就想,為什么不能提前克隆和引導(dǎo)存儲(chǔ)庫(kù)呢?

光想不做是大忌。

[[417456]]

進(jìn)入預(yù)構(gòu)建:代碼空間池,完全克隆和引導(dǎo),等待開發(fā)人員聯(lián)系。

最終,現(xiàn)在能夠創(chuàng)建可靠的預(yù)配置代碼空間。

而且在10秒內(nèi)就能準(zhǔn)備完畢。

跟以前哼哧哼哧安裝Slack相比,現(xiàn)在新員工可以在更短的時(shí)間內(nèi),從零開始進(jìn)入正常運(yùn)行的開發(fā)環(huán)境。

要是開發(fā)環(huán)境崩潰了,比如太落后,或者測(cè)試數(shù)據(jù)產(chǎn)生了破壞,工程師也能夠快速創(chuàng)建一個(gè)新環(huán)境。

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

標(biāo)準(zhǔn)化的開發(fā)環(huán)境

另外,切換到Codespaces還能解決掉一些非?,F(xiàn)實(shí)的問題。

它消除了本地開發(fā)環(huán)境的脆弱性和單軌模型,但同時(shí)也改善了GitHub開發(fā)人員的體驗(yàn)。

剛開始切換到Codespaces時(shí),用的是8核、16GB RAM的VM。

本來有這些配置已經(jīng)足夠了,但GitHub運(yùn)行的網(wǎng)絡(luò)由不同服務(wù)組成,消耗很大。

所以后來更換成了32核、64GB RAM的VM,給每位工程師的配置都升了級(jí)。

10秒!GitHub工程團(tuán)隊(duì)轉(zhuǎn)移到Codespaces,開發(fā)環(huán)境「即開即用」

 

 

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2021-08-12 16:25:57

GitHubCodespaces開發(fā)環(huán)境

2010-06-25 09:26:29

NetBeansNetBeans 6.

2012-11-01 16:11:31

2021-04-25 14:54:53

數(shù)據(jù)庫(kù)安全系統(tǒng)

2013-02-22 09:34:53

紅帽Hadoop開源

2021-01-18 09:35:17

Travis-CGithub ActiLinux

2019-04-03 11:25:59

Windows 10HDDSSD

2020-01-06 10:51:24

云計(jì)算IT混合云

2020-06-18 10:12:42

云計(jì)算云安全數(shù)據(jù)

2019-02-25 18:54:14

ERP云端遷移

2011-05-31 10:19:15

Linux Mint 體驗(yàn)

2013-06-09 10:18:49

遷移云計(jì)算風(fēng)險(xiǎn)評(píng)估

2011-01-19 09:25:40

互聯(lián)網(wǎng)

2012-08-11 21:43:11

2010-04-19 10:50:01

Oracle轉(zhuǎn)移

2019-07-02 13:52:04

云計(jì)算數(shù)據(jù)中心IT

2014-09-29 10:41:07

MDMMIM企業(yè)移動(dòng)安全

2019-11-11 09:55:05

Windows 10許可證新計(jì)算機(jī)

2021-03-04 08:13:53

蘋果iCloud谷歌相冊(cè)

2017-10-31 14:13:24

網(wǎng)絡(luò)SDN數(shù)據(jù)中心
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)