GitHub 工程團隊的開(kāi)發(fā)環境遷移至 Codespaces
GitHub 官方宣布,負責 github.com 的工程團隊已將(jiāng)開(kāi)發(fā)環境遷移至 Codespaces。
GitHub.com 的代碼庫已誕生將(jiāng)近 14 年。當 github.com 的第一個 commit 被推送時(shí),Rails 隻有兩(liǎng)年的曆史,AWS 才誕生一年,Azure 和 GCP 尚未問世。在這(zhè) 14 年裡(lǐ),GitHub.com 的核心倉庫 (github/github) 已收到超過(guò)一百萬次 commit,其中絕大部分來自于在 macOS 上構建和測試的開(kāi)發(fā)者。
GitHub 稱,他們的開(kāi)發(fā)平台在不斷發(fā)展,過(guò)去的幾個月裡(lǐ),工程團隊從 macOS 轉向(xiàng)使用 Codespaces 進(jìn)行 github.com 的大部分開(kāi)發(fā)。這(zhè)對(duì)于工程師的日常開(kāi)發(fā)流程是一個根本性的轉變。GitHub 認爲此舉讓 Codespaces 變得更強大,他們也爲 github.com 的未來發(fā)展做好(hǎo)了準備。
GitHub 表示,他們長(cháng)期投入了大量時(shí)間和精力來爲團隊打造一個“開(kāi)箱即用”的本地開(kāi)發(fā)環境,讓新員工可以迅速配置和運行 github.com 的本地實例。
但現實情況是,雖然付出了許多努力,這(zhè)樣的開(kāi)發(fā)環境卻依舊十分脆弱。任何看似無害的變更都(dōu)可能(néng)會(huì)導緻本地環境失效,更糟糕的是,這(zhè)種(zhǒng)情況往往需要數小時(shí)的寶貴開(kāi)發(fā)時(shí)間來恢複。
考慮到工程師的開(kāi)發(fā)環境各不相同,而且每個人都(dōu)有自己習慣的特殊癖好(hǎo)。GitHub 被 Codespaces 啓發(fā),他們可以像對(duì)待基礎設施一樣對(duì)待開(kāi)發(fā)環境,也就(jiù)是說(shuō)沒(méi)有什麼(me)是不可替換,或者不可或缺的,并且如果出現意外情況,可在已知的良好(hǎo)狀态下提供一個新的 Codespaces 然後(hòu)重新開(kāi)始工作。
GitHub 表示,遷移到 Codespaces 解決了現有開(kāi)發(fā)環境中的缺點,激勵他們進(jìn)一步推動改進(jìn)産品,并提升了整體的開(kāi)發(fā)體驗。雖然此次開(kāi)發(fā)環境的遷移結局還(hái)算美好(hǎo),但剛開(kāi)始時(shí)還(hái)是頗具挑戰性。據介紹,GitHub.com 代碼庫在磁盤上大約使用了 13GB 空間。單是克隆倉庫大約需要 20 分鍾,再加上設置依賴項等,引導 GitHub.com 的 Codespaces 會(huì)耗時(shí) 45 分鍾以上。
改變往往是十分困難的事(shì),對(duì)于開(kāi)發(fā)環境來說(shuō)更是如此。GitHub 表示,他們此次遷移至 Codespaces 作爲默認開(kāi)發(fā)環境的舉動雖然遇到不少挑戰,但對(duì)最後(hòu)的結果十分滿意,未來會(huì)繼續優化在上面(miàn)開(kāi)發(fā)的體驗。