介绍
#
Nidle是什么?Nidle是一款轻量级面向前端的基于node的自动化部署工具。Nidle具有很强的扩展性,它的核心部署流程「调度器」主要通过插件来扩展。Nidle已经内置了一些基础插件(代码下载、依赖安装、编译、同步服务器等),也可以自定义插件,根据自己的业务场景自由组合配置,从而实现发布定制。
Nidle是我司的前端自动化部署工具,直接服务于前端应用包括:官网 assets 应用、H5、egg-web、CMS应用。如果你现在在寻找前端自动化工具,不防可以试一试。
它主要具有以下特性:
- 基于node,安装简单,对于前端更熟悉;
- 插件化,可扩展:插件基于渐进式开发,易于沉淀和抽象
- 配置简单:预设了assets、h5、egg web基础模板,简单extend即可以实现基本的自动化部署流程,同时插件暴露的配置通过界面可以灵活设置。
#
Nidle如何工作?起初我们就是想解决前端代码部署运维的问题,希望能通过「自动化部署」将部署的主动权交到开发手里,实现快速迭代,同时在关键节点(如测试、CodeReview)进行控制把关代码质量。 所以整理了下简单发布流程:
- 代码提交;
- npm包下载;
- 代码编译;
- 测试服务器部署;
- 联调测试;
- codeReview;
- 生产服务器部署;
这是一个对于同类应用来说,容易固化的流程,流程每个步骤所做的事情也很明确、完整;
所以借助webpack、egg的可扩展思想,可以通过插件去定义每个步骤,然后由应用去定义并调度这些插件执行相应任务。于是并有了现在 Nidle 现在的这套 架构设计。