用 docusaurus 构建的网站,怎么部署比较优雅一点

2024-01-31 10:39:52 +08:00
 ggp1ot2

背景

用 docusaurus 给小团队做了一个文档网站。可能要每天更新。

现在本地把网站开发好了,因为不是专门弄这个方面的,只能基于一些之前的经验,考虑下面两种部署方案。

方案 1

将整个项目文件夹上传到服务器,然后在服务器 npm run start 把网站部署在服务器的某个端口。

再将这个端口绑定到域名,实现公网访问。

这样做考虑到,我只要在服务器上修改文章,保存就能更新了?因为我本地只要修改了内容,不用重启服务,保存实时就更新了网站内容。

方案 2

将项目传到 github ,然后应该有某种办法,自动将 github 里面的 build 文件夹,做成一个静态网站绑定到我的域名?

然后每次在本地更新,完了更新完之后推到 github 。

似乎这样也停方便的?就是不知道能不能实现,我推送完之后,就自动更新了

====================

或者类似这样的需求,怎么部署优雅一点?

主要就是更新起来方便一点,最好我本地一更新,不要太复杂就能把网站更新了

1687 次点击
所在节点    程序员
10 条回复
shuxhan
2024-01-31 10:43:39 +08:00
方案二可以满足,你只需要本地写好,push 到仓库
其他构建操作都利用 action 自动化,第三方托管平台,cf / vercel / netlify 都支持检测仓库更新自动构建,然后再绑定你自己的域名即可
MisakaTang
2024-01-31 10:49:47 +08:00
方案二默认可以直接用官方给的 ci 配置: https://docusaurus.io/docs/deployment#triggering-deployment-with-github-actions
直接放到这个文件.github/workflows/deploy.yml 然后就能部署到 gh-pages 分支了,在 GitHub 仓库设置的 pages 选项里选择 gh-pages 分支就可以直接访问了(官方给你一个地址),也可以自定义域名
skylerr
2024-01-31 11:18:14 +08:00
方案二:github + github actions 把打包好的产物传到远程服务器 + nginx
Braisdom
2024-01-31 11:34:42 +08:00
我的网站就是用 docusaurus 做的,有兴趣可以交流,https://www.agiquery.com
BeautifulSoap
2024-01-31 11:44:14 +08:00
实现方法 2 可行的,Github Actions 了解下,每次 push 后执行指定任务
如果配合 github pages 的话你甚至连服务器都不需要了
我项目文档就是 Girhub Actions 构建好 docusaurus 的静态网页,然后直接更新到 github pages ,什么都不用管。
虽然最后我实在受不了 docusaurus 改点什么东西都要 React 知识,所以放弃 docusaurus 转投 mkdocs 了。作为后端是真的改不来
dayeye2006199
2024-01-31 12:28:03 +08:00
贼简单,这就是静态网页。
VCS 里面弄个 action ,merge 之后触发打包。打包完成之后,扔 S3, OSS 里面就可以了
leokun
2024-01-31 12:28:30 +08:00
一般是本地写 markdown ,然后推送,利用仓库的 ci 自动构建(ssg 模式),构建后只有 html 和 css ,js ,这些静态资源可以配合仓库的 pages 功能直接预览
op 说的 npm run start 还需要一个服务,应该是用的 ssr 模式,这样太重了
NessajCN
2024-01-31 12:43:37 +08:00
你怎么部署静态网页就怎么部署 docusaurus 啊
nginx location / { root /path/to/docusaurus/build }
cslive
2024-01-31 16:49:02 +08:00
cf pages ,推送仓库,直接更新,都给你打包部署好了
cheunghy
2024-02-12 05:08:32 +08:00
docker nginx + 静态

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1012998

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX