欢迎来到天天文库
浏览记录
ID:50519346
大小:4.69 MB
页数:55页
时间:2020-03-06
《 企业级 NPM 服务在阿里的实践.pdf》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、企业级NPM服务在阿里的实践何翊宇(不四)dead-horsedeadhorse_busi2B码农死小马数据魔方淘宝时光机我的支付宝天猫首页•淘宝收藏夹•淘宝指数•天猫移动版首页•…什么是NPM?模块管理工具模块中心仓库模块查询网站为什么需要私有NPM?•快速稳定的中心仓库服务•共享私有模块•保证对所有模块的可控性•文档的集中展示git?•需要开放所有仓库的访问权限•不支持semver版本化区间•代码可能随意被覆盖到底需要什么?•一个快速、稳定,可以发布私有模块的中心仓库•模块查询,文档浏览的网站•定制化、更友好的客户端动手!基于CouchDBfullsyncNPMCouchpubli
2、shinstallpublishinstallinstallrequestpublishUserAdmin•无法自动同步(网络原因)•couchDB不稳定,难维护•难以定制化实现权限接入等其他功能•缺少模块搜索和文档托管页面package.json*.tgzPoweredby保持NPM接口不变MySQL+CDN可水平扩展CNPMv0fullsyncCNPMNPMv0installpublishrequestsyncpublishinstallinstallrequestpublishUserAdmin全量同步•每隔十分钟自动同步一次•手动通过cnpmsync命令行工具同步•安装不存在的
3、版本,自动触发同步•web页面点击同步按钮遗留问题•发布的私有模块与公共模块冲突•无法准确知道模块由谁发布•NPM@2客户端工具支持带有命名空间•CNPMregistry增加了命名空间支持•所有的私有模块只允许发布到指定命名空间•CNPM支持接入自定义用户系统•npm的请求可以接入企业内部用户系统•npmadduser实名认证CNPMv1fullsyncCNPMNPMv1authinstallgetlistpublishrequestsyncseachinstallUserpublishwith@scopedServicee.g.:@ali/fs,@alipay/fsUsertnpmc
4、li•定制NPM命令行工具•更加友好的错误提示与日志展示•更加快速和可靠•统一版本,减少bug•修改npm模块源码,优化提示和配置•tnpm包装层,新增更多实用功能•tnpmsync•tnpmsearch•tnpmpublishalinpmweb搜索查看包信息查看文档NPMin阿里AliNPMDownloadspermonthin20142,200,0002,072,4081,748,3331,762,0001,324,000900,497886,000458,710448,000213,211100,74445,70064,00027,13510,000010203040506070
5、809•200注册用户•400+私有模块•200w+月下载量•支撑几十个业务和前端的自动化构建体系•2个工程师+1个运维的业余时间维护搭建自己的私有NPM服务?•Node.js0.11.12+•MySQL0.5.0+•文件存储服务(fs/OSS/七牛/又拍…)config.jsapp.js谁在使用•meituan(美团)forprivatenpm•alibaba(阿里巴巴)forprivatenpm•ctrip(携程)forprivatenpm•ChinaNPMMirror•中国地质大学开源镜像回馈社区快速稳定的全量镜像NPMkoa天猫前端正在招聘busi.hyy@alibaba-inc
6、.com微信:dead_horseThanks!
此文档下载收益归作者所有