阿里开源:Dawn - 基于「中间件和 Pipeline」的自动化构建工具

介绍

Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipeline 和 middleware 将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。




阿里开源:Dawn - 基于「中间件和 Pipeline」的自动化构建工具



Github和文档

https://github.com/alibaba/dawn

https://alibaba.github.io/dawn/docs/

有哪些特点?

  • 采用中间件技术,封装常用功能,易于扩展,方便重用
  • 支持 pipeline 让多个 task 协同完成构建任务
  • 简单、一致的命令行接口,易于开发人员使用
  • 支持基于「中心服务」管理中间件和工程模板
  • 支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理
  • 安装和更新

    依赖的环境、软件及其版本:

    安装或更新 Dawn:

    $ [sudo] npm install dawn -g
    

    国内可以使用 cnpm 加速安装

    初始化工程

    $ dn init [template] [options]
    

    示例:

    $ dn init 
    ? Found 4 templates (Use arrow keys)
    ❯ 1. front      : Blank front end project template
      2. node       : Blank node project template
      3. middleware : Dawn middleware project template
      4. react      : Based on react-scripts, like create-react-app
    

    选择一个工程类型,回车即可按向导初始化一个工程,还可以通过 -t 或 --template 直接按指定的模板名称,直接初始化工程。

    比如,通过名为 front 的模板,初始化一个工程

    $ dn init -t front
    

    启动开发服务

    $ dn dev 
    

    如果是一个「前端」工程通常会启动构建进程并监听文件的变化,通常,还会启动一个 Web Server,并自动打开浏览器。

    执行检查和测试

    $ dn test
    

    在执行 test 的时候会先进行「语法检查」(通过 eslint),然后执行「单元测试」和「E2E 测试」。

    构建工程

    $ dn build
    

    执行构建任务,不同的工程类型的构建过程和结果可能不同,取决于初始化工程时使用的工程模板。 完成后,会在当前项目的根目录产生 build 目录,这是构建结果,当然,也可以指定为其它目录名称。

    发布工程

    $ dn publish
    

    可以通过 dn publish 命令发布代码和构建结果,不同的工程模板决定了最终发布位置,是否支持 publish 命令取决于选择的「工程模板」。

    执行自定义任务

    init/dev/build/test/publish 这几个命令可以直接作为「子命令」写在 dn 后边,对于其它名称的 pipeline 需要使用 run 命令

    编辑 .dawn/pipe.yml 或 .dawn.yml

    demo:
      - name: shell
        script:
          - echo demo
    

    可以通过如下方法执行 demo

    dn run demo

    总结

    Dawn是一个用于前端和nodejs的轻量级任务管理和构建工具。以上只是简单介绍和入门,详细的文档可以查看文中给出的文档地址!


    阿里开源:Dawn - 基于「中间件和 Pipeline」的自动化构建工具

    展开阅读全文

    页面更新:2024-05-13

    标签:中间件   前项   阿里   初始化   命令   团队   模板   名称   过程   类型   版本   简单   文档   测试   目录   工具   工程   科技

    1 2 3 4 5

    上滑加载更多 ↓
    推荐阅读:
    友情链接:
    更多:

    本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

    © CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
    闽公网安备35020302034903号

    Top