用 docusaurus 给小团队做了一个文档网站。可能要每天更新。
现在本地把网站开发好了,因为不是专门弄这个方面的,只能基于一些之前的经验,考虑下面两种部署方案。
将整个项目文件夹上传到服务器,然后在服务器 npm run start 把网站部署在服务器的某个端口。
再将这个端口绑定到域名,实现公网访问。
这样做考虑到,我只要在服务器上修改文章,保存就能更新了?因为我本地只要修改了内容,不用重启服务,保存实时就更新了网站内容。
将项目传到 github ,然后应该有某种办法,自动将 github 里面的 build 文件夹,做成一个静态网站绑定到我的域名?
然后每次在本地更新,完了更新完之后推到 github 。
似乎这样也停方便的?就是不知道能不能实现,我推送完之后,就自动更新了
====================
或者类似这样的需求,怎么部署优雅一点?
主要就是更新起来方便一点,最好我本地一更新,不要太复杂就能把网站更新了
1
shuxhan 322 天前
方案二可以满足,你只需要本地写好,push 到仓库
其他构建操作都利用 action 自动化,第三方托管平台,cf / vercel / netlify 都支持检测仓库更新自动构建,然后再绑定你自己的域名即可 |
2
MisakaTang 322 天前
方案二默认可以直接用官方给的 ci 配置: https://docusaurus.io/docs/deployment#triggering-deployment-with-github-actions
直接放到这个文件.github/workflows/deploy.yml 然后就能部署到 gh-pages 分支了,在 GitHub 仓库设置的 pages 选项里选择 gh-pages 分支就可以直接访问了(官方给你一个地址),也可以自定义域名 |
3
skylerr 322 天前
方案二:github + github actions 把打包好的产物传到远程服务器 + nginx
|
4
Braisdom 322 天前
我的网站就是用 docusaurus 做的,有兴趣可以交流,https://www.agiquery.com
|
5
BeautifulSoap 322 天前 via Android
实现方法 2 可行的,Github Actions 了解下,每次 push 后执行指定任务
如果配合 github pages 的话你甚至连服务器都不需要了 我项目文档就是 Girhub Actions 构建好 docusaurus 的静态网页,然后直接更新到 github pages ,什么都不用管。 虽然最后我实在受不了 docusaurus 改点什么东西都要 React 知识,所以放弃 docusaurus 转投 mkdocs 了。作为后端是真的改不来 |
6
dayeye2006199 322 天前
贼简单,这就是静态网页。
VCS 里面弄个 action ,merge 之后触发打包。打包完成之后,扔 S3, OSS 里面就可以了 |
7
leokun 322 天前
一般是本地写 markdown ,然后推送,利用仓库的 ci 自动构建(ssg 模式),构建后只有 html 和 css ,js ,这些静态资源可以配合仓库的 pages 功能直接预览
op 说的 npm run start 还需要一个服务,应该是用的 ssr 模式,这样太重了 |
8
NessajCN 322 天前
你怎么部署静态网页就怎么部署 docusaurus 啊
nginx location / { root /path/to/docusaurus/build } |
9
cslive 322 天前
cf pages ,推送仓库,直接更新,都给你打包部署好了
|
10
cheunghy 310 天前
docker nginx + 静态
|