- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
企业级NPM服务在阿里的实践key
企业级 NPM 服务在阿里的实践
何翊宇(不四)
dead-horse
deadhorse_busi
2B码农死⼩⻢
数据魔方
淘宝时光机
我的支付宝
天猫首页
• 淘宝收藏夹
• 淘宝指数
• 天猫移动版首页
• …
什么是 NPM?
模块管理工具
模块中心仓库
模块查询网站
为什么需要私有NPM?
• 快速稳定的中心仓库服务
• 共享私有模块
• 保证对所有模块的可控性
• 文档的集中展示
git
• 需要开放所有仓库的访问权限
• 不支持 semver 版本化区间
• 代码可能随意被覆盖
到底需要什么?
• 一个快速 、稳定 ,可以发布私有模块的中心仓库
• 模块查询,文档浏览的网站
• 定制化、更友好的客户端
动手!
基于 CouchDB
full sync
NPM Couch
publish install publish
install install
request publish
User Admin
• 无法自动同步(网络原因)
• couchDB 不稳定,难维护
• 难以定制化实现权限接入等其他功能
• 缺少模块搜索和文档托管页面
package.json *.tgz
P o w e r e d by
保持 NPM 接口不变
MySQL + CDN
可水平扩展
CNPM v0
full sync CNPM
NPM
v0
install
publish request sync publish
install install
request publish
User Admin
全量同步
• 每隔十分钟 自动同步一次
• 手动通过 cnpm sync 命令行工具同步
• 安装不存在的版本,自动触发同步
• web 页面点击同步按钮
遗留问题
• 发布的私有模块与公共模块冲突
• 无法准确知道模块由谁发布
• NPM@2 客户端工具支持带有命名空间
• CNPM registry 增加了命名空间支持
• 所有的私有模块只允许发布到指定命名空间
• CNPM 支持接入自定义用户系统
• npm 的请求可以接入企业内部用户系统
• npm adduser 实名认证
CNPM v1
full sync CNPM
NPM
您可能关注的文档
最近下载
- 24.XX银行_信息科技外包服务中断应急预案管理办法.doc VIP
- 学习贯彻《关于加强党的作风建设论述摘编》PPT:持之以恒推进作风建设常态化长效化,保持党的先进性和纯洁性(附文稿).pptx VIP
- 绍兴续志1994—2005湖塘街道资料长篇.doc
- 快乐汉语第一册第二课.pptx VIP
- ISO8502-3喷砂后钢板表面灰尘清洁度标准.pdf
- 牛津译林版英语九年级上册9AReading &Task中文翻译口语材料.docx VIP
- 初中历史教师如何应对学生的个别差异.pptx VIP
- 部编版四年级语文上册期中自主综合测试 (基础卷)(含答案).docx VIP
- 人教版七年级上册期中模拟试题(Starter Units 1-Units4)(含答案).docx VIP
- 嵌入式软件工程师招聘条件.pdf VIP
原创力文档


文档评论(0)