Serverless Devs 的官网是如何通过 Serverless Devs 部署的?
作者 | 江昱
來(lái)源 | 阿里巴巴云原生公眾號(hào)
?
只有自己吃自己的狗糧,自己做的東西才不“🐶”。Serverless Devs 自發(fā)展之處到現(xiàn)在,已經(jīng)經(jīng)歷了幾個(gè)月的時(shí)間,在這幾個(gè)月,Serverless Devs 的成長(zhǎng)是迅速的,這很大一部分的原因是“我們?cè)诔宰约旱墓芳Z”,我們相信,如果自己都用不爽的東西,大家一定很難用的起來(lái)。
?
今天這篇文章,是一個(gè)關(guān)于 Serverless Devs 官網(wǎng)建設(shè)的文章,文章很簡(jiǎn)單,也很有趣。
什么是 Serverless Devs?
?
「Serverless Devs」是由阿里云開源的 Serverless 開發(fā)者平臺(tái),致力于為開發(fā)者提供強(qiáng)大的工具鏈體系。通過(guò)該平臺(tái),開發(fā)者可以一鍵體驗(yàn)多云 Serverless 產(chǎn)品,極速部署 Serverless 項(xiàng)目。Serverless Devs 讓開發(fā)者以更短的路徑體驗(yàn)到多個(gè)主流云廠商 Serverless 產(chǎn)品,以更快的速度創(chuàng)建和部署 Serverless 應(yīng)用,以更簡(jiǎn)單、更自動(dòng)化的方法進(jìn)行項(xiàng)目管理和運(yùn)維,Serverless 項(xiàng)目通過(guò)該平臺(tái)完成全自動(dòng)化后,可節(jié)省 99.9% 的管理成本。
?
- Github 地址:https://github.com/serverless-devs
- Gitee 地址:https://gitee.com/organizations/serverless-devs/projects
- Serverless Devs 官網(wǎng):https://www.serverless-devs.com
Serverless Devs 與 Docusaurus
?
眾所周知,開源項(xiàng)目的官網(wǎng)不宜太復(fù)雜,其實(shí)簡(jiǎn)簡(jiǎn)單單的就好,所以我們經(jīng)過(guò)了很長(zhǎng)時(shí)間的對(duì)比,最終選擇了 Docusaurus 作為官網(wǎng)的框架選型。那么問(wèn)題來(lái)了,我們選型結(jié)束之后,我們要如何來(lái)建設(shè)官網(wǎng)?
?
經(jīng)過(guò)一些簡(jiǎn)單的調(diào)研,我們決定用 Serverless Devs 建設(shè) Serverless Devs 官網(wǎng),并將其部署到 Serverless 架構(gòu)上,很繞嘴是吧?但是,這個(gè)過(guò)程卻真的很“經(jīng)典”:
?
我們通過(guò) Serverless devs 初始化了 Docusaurus:s init devsapp/website-docusaurus,這一部分可以參考文檔:https://github.com/devsapp/website-example。
?
講真,雖然也就是一行代碼的事情,但是整個(gè)初始化還是比較“賞心悅目”的,作為一個(gè) Serverless 應(yīng)用全生命周期的工具,Serverless Devs 在腳手架和引導(dǎo)層面還是下了很多功夫的:
?
可以看到,初始化的時(shí)候,系統(tǒng)引導(dǎo)式的讓我們填寫了項(xiàng)目名,存儲(chǔ)桶名,以及需要的密鑰信息,同時(shí)完成之后,還告訴我們:
?
?
感覺還是很貼心的。
?
接下來(lái),按照指引:
可以看到幫助文檔:
?
當(dāng)執(zhí)行 s website-starter -h 之后,首次運(yùn)行幫助信息,可能涉及到組件加載過(guò)程,稍等片刻,可以看到幫助信息:
?
此時(shí),我們要將項(xiàng)目部署到線上,只需要執(zhí)行 s deploy 即可。
?
當(dāng)然,我們還需要對(duì)項(xiàng)目進(jìn)行一定的配置,以及對(duì)我們的官網(wǎng)進(jìn)行一定的建設(shè)。
?
關(guān)于網(wǎng)站建設(shè),可以參考 Docusaurus 的官網(wǎng)文檔,關(guān)于 Serverless Devs 的 website 組件配置,可以參考上圖給我們 🧭 More information: https://github.com/devsapp/website:
?
在文檔中可以了解更多的配置內(nèi)容,最終生成我們的 s.yaml:
edition: 1.0.0 access: website_accessservices:website:component: devsapp/websiteactions:pre-deploy:- run: npm installpath: ./- run: npm run buildpath: ./props:bucket: serverless-devs-websitesrc:codeUri: ./publishDir: ./buildindex: index.htmlsubDir:type: indexregion: cn-hongkongCD 與 Serverless Devs
?
當(dāng)我們建立好了網(wǎng)站頁(yè)面,在本地也可以正常運(yùn)行,通過(guò)本地的 s deploy 也可以順利部署了,這個(gè)時(shí)候面臨了新的問(wèn)題:我如何更新我的網(wǎng)站?每次都要手動(dòng)的在本地發(fā)布么?是否可以利用 Github Action,接入自動(dòng)化的能力呢?
?
所以:
?
- 我們創(chuàng)建了一個(gè)倉(cāng)庫(kù):_https://github.com/Serverless-Devs/website_
- 我們將代碼推送到倉(cāng)庫(kù)之后,創(chuàng)建了一個(gè) Github Action 的配置:
此時(shí)我再 push 代碼,就可以自動(dòng)將網(wǎng)站發(fā)布出來(lái)了。
這里面的核心點(diǎn)如下所示:
?
整個(gè)效果:
?
部署后的頁(yè)面:
?
總結(jié)
?
其實(shí),目前來(lái)說(shuō)很多人的博客,部分的官網(wǎng)都是通過(guò)靜態(tài)網(wǎng)站等進(jìn)行部署,通過(guò) Serverless Devs 走這一套還是比較方便的:
?
- 得益于 Serverless Devs 的行為描述,我們可以更簡(jiǎn)單地將 npm install,npm run build 等指令集成到項(xiàng)目中。
- 得益于 Serverless Devs 的引導(dǎo)能力,包括創(chuàng)建、入門,以及密鑰配置時(shí)的獲取鏈接,Serverless Devs 確實(shí)在不斷的從細(xì)節(jié)出發(fā),為便利而努力。
- 得益于 Serverless Devs 的靈活性,只需要兩三行代碼,就可以配置出 Github 的 CD 能力,將網(wǎng)站持續(xù)發(fā)出去,個(gè)人覺得這個(gè)還是挺爽的。
當(dāng)然,目前來(lái)看還是有一些問(wèn)題等待去做的:
- Serverless Devs 的場(chǎng)景還是有待豐富的。
- 這個(gè)社區(qū)官網(wǎng)只有 CD,沒有 CI 其實(shí)還是有一定風(fēng)險(xiǎn)的,要慢慢的完善起來(lái)。
原文鏈接:https://developer.aliyun.com/article/784362?
版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊(cè)用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請(qǐng)查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識(shí)產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報(bào),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Serverless Devs 的官网是如何通过 Serverless Devs 部署的?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《云计算开放应用架构》标准发布,阿里云持
- 下一篇: 技术人生——解决问题的规律