V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ggp1ot2
V2EX  ›  程序员

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

  •  
  •   ggp1ot2 · 288 天前 · 1547 次点击
    这是一个创建于 288 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

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

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

    方案 1

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

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

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

    方案 2

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

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

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

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

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

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

    10 条回复    2024-02-12 05:08:32 +08:00
    shuxhan
        1
    shuxhan  
       288 天前
    方案二可以满足,你只需要本地写好,push 到仓库
    其他构建操作都利用 action 自动化,第三方托管平台,cf / vercel / netlify 都支持检测仓库更新自动构建,然后再绑定你自己的域名即可
    MisakaTang
        2
    MisakaTang  
       288 天前
    方案二默认可以直接用官方给的 ci 配置: https://docusaurus.io/docs/deployment#triggering-deployment-with-github-actions
    直接放到这个文件.github/workflows/deploy.yml 然后就能部署到 gh-pages 分支了,在 GitHub 仓库设置的 pages 选项里选择 gh-pages 分支就可以直接访问了(官方给你一个地址),也可以自定义域名
    skylerr
        3
    skylerr  
       288 天前
    方案二:github + github actions 把打包好的产物传到远程服务器 + nginx
    Braisdom
        4
    Braisdom  
       288 天前
    我的网站就是用 docusaurus 做的,有兴趣可以交流,https://www.agiquery.com
    BeautifulSoap
        5
    BeautifulSoap  
       288 天前 via Android
    实现方法 2 可行的,Github Actions 了解下,每次 push 后执行指定任务
    如果配合 github pages 的话你甚至连服务器都不需要了
    我项目文档就是 Girhub Actions 构建好 docusaurus 的静态网页,然后直接更新到 github pages ,什么都不用管。
    虽然最后我实在受不了 docusaurus 改点什么东西都要 React 知识,所以放弃 docusaurus 转投 mkdocs 了。作为后端是真的改不来
    dayeye2006199
        6
    dayeye2006199  
       288 天前
    贼简单,这就是静态网页。
    VCS 里面弄个 action ,merge 之后触发打包。打包完成之后,扔 S3, OSS 里面就可以了
    leokun
        7
    leokun  
       288 天前
    一般是本地写 markdown ,然后推送,利用仓库的 ci 自动构建(ssg 模式),构建后只有 html 和 css ,js ,这些静态资源可以配合仓库的 pages 功能直接预览
    op 说的 npm run start 还需要一个服务,应该是用的 ssr 模式,这样太重了
    NessajCN
        8
    NessajCN  
       288 天前
    你怎么部署静态网页就怎么部署 docusaurus 啊
    nginx location / { root /path/to/docusaurus/build }
    cslive
        9
    cslive  
       288 天前
    cf pages ,推送仓库,直接更新,都给你打包部署好了
    cheunghy
        10
    cheunghy  
       277 天前
    docker nginx + 静态
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:51 · PVG 05:51 · LAX 13:51 · JFK 16:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.