资讯专栏INFORMATION COLUMN

ABS介绍-基于Ant的构建插件系统

rainyang / 2875人阅读

摘要:是的首字母简写,基于脚本开发的一套可扩展的构建系统,扩展任务定义为。为了简化用户配置,设计了文件,通过将其翻译为默认的构建文件。

What ?

abs是Ant Build System的首字母简写,基于ant脚本开发的一套可扩展的构建系统,扩展任务定义为abs-task。将需要构建的动作包装成abs的扩展任务abs-task。

为了简化用户配置,设计了ci.yml文件,通过abs-cli.py将其翻译为build.xml(默认的ant构建文件)。用户在工程的ci.yml配置文件中添加此任务就可以执行此构建。

ci.yml配置文件样例

box: test

author: xxx
product: xxx
project: xxx
version: xxx

properties:
  release.file: ${bin.dir}/Release/demo.exe

build:
  steps:
    - customtask:
       executable: ${conf.scripts.dir}/vs-compile.bat
    - sign:
       target.file: ${release.file} 

  after-steps:
    - artifact:
        # dev/test/publish
        type: dev
        dir: ${bin.dir}
        inclucdes: "**/Release*.exe;**/pdb/*.pdb"

转化后的结果可以参见:abs-tasks架构介绍中的build.xml内容。

Why ?

为了让构建任务可以重用,简化配置工作,并且方便扩展第3方工具到构建流程中。

How ?

需要借助jenkins或者其他CI工具完成自动化工作,这里选择jenkins作为CI工具,需要用到几个jenkins插件,bat/shell执行插件,ant插件和email-ext插件(这个插件主要是配合abs-plugin)

配置步骤:

使用shell/bat插件执行 abs-cli.py -t工具,它会负责翻译ci.yml配置文件为build.xml

使用build.xml文件执行自动化构建

配置email-ext发邮件报告任务

由于需要对构建过程的产物进行报告展示,可以借用jenkins自代的插件进行展示,而我们开发了一套基于xsl+xml=html的方式展示构建过程的数据abs-plugin,它是一个jenkins插件将展示概要信息和详细信息,还可以开发email-ext的邮件报告模板,在邮件中也可以看到这样的报告,截图如下:

注:敬请关注下期:abs-tasks架构介绍?
abs code: https://github.com/liouys/abs

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45377.html

相关文章

  • Maven 项目构建基础

    摘要:项目构建基础从属于笔者的现代开发基础系列文章,介绍了的历史背景与多种构建工具对比,以及的基本配置安装与使用本文涉及的参考资料声明在学习与实践资料索引以及学习与资料索引。 Maven 项目构建基础从属于笔者的现代 Java 开发基础系列文章,介绍了 Maven 的历史背景与多种构建工具对比,以及 Maven 的基本配置安装与使用;本文涉及的参考资料声明在 Java 学习与实践资料索引以及...

    2501207950 评论0 收藏0
  • Android Gradle从认识到实践(1)

    摘要:工作包含三个阶段首先是初始化阶段。阶段完了后,整个的以及内部的关系就确定了。对象显然,每一个都会转换成一个对象。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。 前言 做为一个做Android的同学,我想对于Gradle是再熟悉不过了,但是对于Gradle却是有点陌生,几个月前,只是停留在这样简单的使用上。 compile com.strange.unfamili...

    付伦 评论0 收藏0
  • Maven_00

    摘要:例如,可以提供更改日志用源码管理工具生成交叉引用邮件列表依赖清单单元测试报告含覆盖率提供开发过程的最佳实践指南通过收集现行的开发最佳实践,来指导用构建的项目。 本文大约1026个字,阅读时间4分钟。 主要介绍了Maven名字的由来、Maven产生的背景和Maven的主要功能。 问题:Maven是啥? 大多数人都用Maven来管理Java项目的依赖,这个应该是Maven的主要功能没跑了,...

    booster 评论0 收藏0
  • Maven实战之Quick Start

    摘要:在之前,十个项目可能有十种构建方式,但通过,所有项目的构建命令都是简单一致的。有利于促进项目团队的标准化。手工劳动往往意味着低效,意味着容易出错。这在很大程度上消除了重复。默认情况下,该文件夹下放置了本地仓库。学习实战许晓斌著 Introduction Maven是一个异常强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。通过Maven,我们只需要...

    Yi_Zhi_Yu 评论0 收藏0
  • Java软件架构师需要掌握开源工具

    摘要:软件架构师需要掌握的开源工具的是当前敏捷开发领域最重要的工具之一。主要用于持续自动地构建测试软件项目,如与。监控一些定时执行的任务。是应用程序最好的软件测试框架之一。是一种自由和开放源码的类操作系统 Java软件架构师需要掌握的开源工具1. JIRAAtlassian的JIRA是当前敏捷开发领域最重要的工具之一。它用于错误...

    genefy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<