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

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介绍-基于Ant的构建插件系统》

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

    原文作者:liouys
    原文地址: https://segmentfault.com/a/1190000002900194
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞