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

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:   Dawn 取「黎明、破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源。它通过 pipeline 和 middleware 将开发过程抽象为相对固定的阶段和有限的操作,简化并统一了开发人员的日常构建与开发相关的工作。  采用中间件技术,封装常用功能,易于扩展,方便重用支持 pipeline 让多个 task 协同完成构建任务简单、一致的命令行接口,易于开发人员使用支持基于「中心服务」管理中间件和工程模板支持搭建私有中心服务,并统一下发构建规则,易于团队统一管理  依赖的环境、软件及其版本:  Node.js v7.6.0 及以上版本Mac/Linu

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

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

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

  Node.js v7.6.0 及以上版本Mac/Linux (Windows 基本支持未经严格测试)

  安装或更新 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的轻量级任务管理和构建工具。以上只是简单介绍和入门,详细的文档可以查看文中给出的文档地址!

目录
相关文章
|
8天前
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
|
2月前
|
消息中间件 存储 NoSQL
国产化中间件正在侵蚀开源中间件
国产化中间件正在侵蚀开源中间件
254 6
|
3月前
|
人工智能 搜索推荐 API
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
|
3月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
109 1
|
3月前
|
数据采集 JSON JavaScript
|
4月前
|
Kubernetes 持续交付 Python
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
|
5月前
|
人工智能 搜索推荐 API
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
开源2.0|从事视频剪辑的“熬者们”,自动化剪辑工具 FunClip请收好
|
4月前
|
运维 中间件 PHP
深入理解PHP中的中间件模式自动化运维之脚本编程实践##
【7月更文挑战第31天】在PHP开发中,中间件模式是一种强大的设计模式,它允许开发者在请求处理流程中注入自定义的处理逻辑。本文将通过实际代码示例来探讨如何在PHP项目中实现和使用中间件,以及这种模式如何提升应用程序的可维护性和扩展性。 【7月更文挑战第31天】 在现代IT运维管理中,自动化不再是可选项,而是提高生产效率、确保服务质量的必需品。本文将通过Python脚本编程的角度,探讨如何利用代码简化日常运维任务,提升工作效率。我们将从实际案例出发,逐步剖析自动化脚本的设计思路、实现过程及其带来的益处。 ##
27 0
|
5月前
|
人工智能 人机交互 语音技术
让大模型更懂你的情绪——通义实验室与中科院自动化所联合开源中英双语共情语音对话模型BLSP-Emo
BLSP-Emo模型展示了情感智能在人机交互中的重要性,未来的多模态模型将更加注重情感的识别和表达,使得机器能够更加准确地理解和回应用户的情感状态,甚至生成富有情感的语音反馈。同时,BLSP-Emo展示了将副语言信号对齐到大语言模型语义空间的可能性,我们期待着更加人性化、更具有共情力的对话交互模型的出现。
|
5月前
|
消息中间件 存储 NoSQL
阿里开源中间件一览
阿里开源中间件一览
334 2
下一篇
无影云桌面