Skip to main content

介绍

Nidle是什么?#

Nidle是一款轻量级面向前端的基于node的自动化部署工具。Nidle具有很强的扩展性,它的核心部署流程「调度器」主要通过插件来扩展。Nidle已经内置了一些基础插件(代码下载、依赖安装、编译、同步服务器等),也可以自定义插件,根据自己的业务场景自由组合配置,从而实现发布定制。

Nidle是我司的前端自动化部署工具,直接服务于前端应用包括:官网 assets 应用、H5、egg-web、CMS应用。如果你现在在寻找前端自动化工具,不防可以试一试。

它主要具有以下特性:

  • 基于node,安装简单,对于前端更熟悉;
  • 插件化,可扩展:插件基于渐进式开发,易于沉淀和抽象
  • 配置简单:预设了assets、h5、egg web基础模板,简单extend即可以实现基本的自动化部署流程,同时插件暴露的配置通过界面可以灵活设置。

Nidle如何工作?#

起初我们就是想解决前端代码部署运维的问题,希望能通过「自动化部署」将部署的主动权交到开发手里,实现快速迭代,同时在关键节点(如测试、CodeReview)进行控制把关代码质量。 所以整理了下简单发布流程:

  1. 代码提交;
  2. npm包下载;
  3. 代码编译;
  4. 测试服务器部署;
  5. 联调测试;
  6. codeReview;
  7. 生产服务器部署;

这是一个对于同类应用来说,容易固化的流程,流程每个步骤所做的事情也很明确、完整;

所以借助webpack、egg的可扩展思想,可以通过插件去定义每个步骤,然后由应用去定义并调度这些插件执行相应任务。于是并有了现在 Nidle 现在的这套 架构设计