Serverless Devs 的官网是如何通过 Serverless Devs 部署的
=================================================================================================
?
众所周知,开源项目的官网不宜太复杂,其实简简单单的就好,所以我们经过了很长时间的对比,最终选择了 Docusaurus 作为官网的框架选型。那么问题来了,我们选型结束之后,我们要如何来建设官网?
?
经过一些简单的调研,我们决定用 Serverless Devs 建设 Serverless Devs 官网,并将其部署到 Serverless 架构上,很绕嘴是吧?但是,这个过程却真的很“经典”:
?
我们通过 Serverless devs 初始化了 Docusaurus:s init devsapp/website-docusaurus,这一部分可以参考文档:[https://github.com/devsapp/website-example](
)。
?
讲真,虽然也就是一行代码的事情,但是整个初始化还是比较“赏心悦目”的,作为一个 Serverless 应用全生命周期的工具,Serverless Devs 在脚手架和引导层面还是下了很多功夫的:
?
可以看到,初始化的时候,系统引导式的让我们填写了项目名,存储桶名,以及需要的密钥信息,同时完成之后,还告诉我们:
?
You could [cd /Users/jiangyu/Desktop/start-fc/website/serverless-website] and enjoy your serverless journey!
?
感觉还是很贴心的。
?
接下来,按照指引:
![2.png](https://img-blog.csdnimg.cn/img_convert/789e9dfd9dbfd8d7a783dd
903b920238.png)
可以看到帮助文档:
?
当执行 s website-starter -h 之后,首次运行帮助信息,可能涉及到组件加载过程,稍等片刻,可以看到帮助信息:
?
此时,我们要将项目部署到线上,只需要执行 s deploy 即可。
?
当然,我们还需要对项目进行一定的配置,以及对我们的官网进行一定的建设。
?
关于网站建设,可以参考 Docusaurus 的官网文档,关于 Serverless Devs 的 website 组件配置,可以参考上图给我们 ?? More information: https://github.com/devsapp/website:
?
在文档中可以了解更多的配置内容,最终生成我们的 s.yaml:
edition: 1.0.0
access: website_access
services:
website:
component: devsapp/website
actions:
pre-deploy:
run: npm install
path: ./
run: npm run build
path: ./
props:
bucket: serverless-devs-website
src:
codeUri: ./
publishDir: ./build
index: index.html
subDir:
type: index
region: cn-hongkong
[](
)CD 与 Serverless Devs
=========================================================================================
?
当我们建立好了网站页面,在本地也可以正常运行,通过本地的 s deploy 也可以顺利部署了,这个时候面临了新的问题:我如何更新我的网站?每次都要手动的在本地发布么?是否可以利用 Github Action,接入自动化的能力呢?
?
所以:
?
我们创建了一个仓库:https://github.com/Serverless-Devs/website
我们将代码推送到仓库之后,创建了一个 Github Action 的配置:
name: Website Publish
on:
push:
branches: [ master ]
jobs:
publish-website:
runs-on: ubuntu-latest
steps:
uses: actions/checkout@v2
评论