DevDocs 维护者如何用 thor docs:upload 上传文档更新到 S3 并部署 Heroku?

发布时间:2026/11/8 23:36:30

DevDocs 维护者如何用 thor docs:upload 上传文档更新到 S3 并部署 Heroku? DevDocs 维护者如何用 thor docs:upload 上传文档更新到 S3 并部署 Heroku【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs当 DevDocs 维护者更新了某份文档的 scraper 并本地重新生成后还需要完成两件事把文档文件与打包产物上传到 S3供 Heroku 应用和thor docs:download使用再把提交推到 main 分支触发 Heroku 部署。docs/maintainers.md 中的 Updating docs 与 Deploying DevDocs 两节定义了这条完整路径本文把它整理成一条可照做的操作链。前提S3 与 Heroku 访问权限根据 docs/maintainers.md 的 Setup requirements部署 DevDocs 需要获得 Heroku 访问权限并在本机配置好 Heroku CLI获得 DevDocs 的 S3 凭证安装并配置 AWS CLImacOS 上可用brew install awscli。配置时必须添加一个名为devdocs的命名 profileaws configure --profile devdocs文档同时说明一份文档由成千上万个小文件组成AWS CLI 默认的 10 个并发请求偏低调高可以显著加快thor docs:uploadaws configure set s3.max_concurrent_requests 100 --profile devdocs aws configure set s3.max_queue_size 10000 --profile devdocs替代路径可选也可以用 rclone 的 s3 后端代替 AWS CLI此时给各命令加上--rclone选项。另外文档提醒如果这是你的第一次部署确保另一位维护者在场协助。上传前的本地准备thor docs:upload只能上传已生成且已打包的文档。按 lib/tasks/docs.thor 中upload的实现第 183–194 行命令会先做两项检查public/docs/doc.path目录存在文档生成产物public/docs/doc.path.tar.gz存在文档包。任一缺失时命令会报错并停止。例如包缺失时会提示ERROR: package for slug documentation not found. Run thor docs:package slug to create it.此时先运行thor docs:package补齐打包再重新上传也可以用thor docs:generate docversion --package在生成时自动打包。因此上传前的完整准备是参考 .github/CONTRIBUTING.md 的 Updating existing documentations修改 scraper 文件中的版本/发布配置必要时更新options[:attribution]、图标与self.links用thor docs:generate docversion重新生成确认没有报错、分类仍然合理提交变更。维护者有快捷命令thor docs:commit doc它会把 scraper 与assets/的文件改动提交为一个 commit提交信息包含文档更新到的最新版本漏掉的文件可用git commit --amend补入。两点约束来自 docs/maintainers.mdcommit 可以在thor docs:upload之前做但在文件上传到生产并完成应用部署之前不要推送到 GitHubpublic/docs/docs.json的改动永远不要提交——它只反映本机下载/生成过哪些文档在干净的git clone下应为空。执行 thor docs:uploadthor docs:upload一次执行两个操作见 docs/maintainers.md 与 lib/tasks/docs.thor 第 196–231 行将指定文档的文件与 S3 同步aws s3 sync ... s3://devdocs-documents/doc.path --delete --profile devdocs供 Heroku 应用使用将文档包上传到 S3 bundle 区aws s3 cp ... s3://devdocs-downloads/doc.path.tar.gz --profile devdocs供thor docs:download使用。常用形式# 只上传指定文档名称/版本写法与 docs:package 相同如 rails5.2 thor docs:upload rails5.2 # 上传本机已打包public/docs 下存在 .tar.gz的全部文档 thor docs:upload --packaged # 不实际上传仅测试配置与命令效果 thor docs:upload --dryrun用--dryrun先验证一次 AWS CLI 配置与命令效果是维护者文档明确给出的做法。命令正常运行时控制台会依次出现[S3] Begin syncing.、每个文档的[S3] Syncing path...、[S3] Done syncing.随后进入[S3 bundle] Begin uploading./[S3 bundle] Done uploading.阶段。关键约束文档强调 the app should always be deployed immediately after this command has finished running——即只有在有能力且准备好立即部署 DevDocs 时才应运行这条命令。部署到 Heroku上传完成后向 DevDocs 的 main 分支推送或合并包含更新的 PR。按 .github/workflows/deploy-heroku.yml这会触发 GitHub Action先运行测试bundle exec rake测试通过后安装 Heroku CLI、执行heroku stack:set heroku-26与heroku git:remote再git push heroku HEAD:main完成自动部署。这里存在本地与生产环境的依赖关系docs/maintainers.mdthor docs:download从生产环境下载文件所以新增文档的 PR 必须在文件先上传到生产之后再合并推送否则docs:download会在新文档上失败docker 容器无法正常构建。这也是先 upload、后 push顺序的原因。验证与回滚部署完成后的验证方式针对文档更新场景见 Deploying DevDocs需要等几秒让 service worker 完成对新资产的缓存缓存完成后页面会出现 DevDocs has been updated 通知此时刷新页面即可看到新内容。如果部署出问题文档给出的处理路径是heroku rollback回滚到上一版本应用也可通过 Heroku UI 操作。但文档特别提醒heroku rollback不会回退已通过thor docs:upload上传的文档文件。正确做法是尽快修复问题并重新部署需要时联系其他维护者协助。收尾清理本地产物部署并验证通过后运行thor docs:clean它会删除所有文档包文件public/docs下的.tar.gz上传后不再需要以及 scraper 缓存在tmp/cache中的响应。至此一次更新文档 → 上传 S3 → 部署 Heroku的完整流程结束。【免费下载链接】devdocsAPI Documentation Browser项目地址: https://gitcode.com/GitHub_Trending/de/devdocs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/7 21:30:12

大模型API调用的四大核心陷阱与最小可行代码

1. 那个“10行代码”背后的真实战场:不是Hello World,是API调用的第一次呼吸你看到标题里那句“我用10行代码跑通了第一次大模型调用”,是不是心里一松——哦,原来Agent开发这么简单?别急,我亲手把这10行代…

2026/11/8 23:36:30

树莓派Pico ADC深度解析:从硬件原理到工业级温度采集

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/8 23:33:07

中级电工证什么职称?南阳在职建筑工人良心建议来了

中级电工证什么职称?南阳在职建筑工人良心建议来了 你是不是也遇到过这种情况:工地电工证到期了,想要升级中级电工证,但不知道去哪儿报,怕被中介坑?现在网上信息太多,真假难辨,一不小心就花了冤枉钱,还耽误了工作。别担心,今天我就从一个南阳在职建…

2026/11/8 23:33:07

电工证多久安排考试 通过率揭秘 这些细节你必须知道

电工证多久安排考试 通过率揭秘 这些细节你必须知道 你是不是也像我一样,一听说要考电工证就头大? 不知道去哪报名怕被中介坑 ,怕花冤枉钱还拿不到证,更怕考试不过白忙一场。今天我就用10年经验,带你搞懂【电工证多久安排考试】,还有…

2026/11/8 23:33:07

烟台幸福学电工证在哪考?学历不高怕报不上名?这样操作最稳妥

烟台幸福学电工证在哪考?学历不高怕报不上名?这样操作最稳妥 你是不是也担心学历不高,考不了烟台幸福学电工证?其实,只要符合条件,学历不是最大的障碍。关键是要知道【在哪考】、怎么准备、流程是怎样的。今天就带你一步步了解,怎么顺利考下烟台幸福学…

2026/11/8 23:22:43

考了高级电工证无用?别急,网上查询一下就知道了

考了高级电工证无用?别急,网上查询一下就知道了 你学历不高,怕报不上名?其实不然,考了高级电工证无用这个说法,在很多人看来是误解。但确实,有些电工证考下来后,并不能在实际工作中发挥应有的价值,这让你觉得白费了时间、精力和金钱。别担心,我们一…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/7 14:54:47

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑