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

What ?

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

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

ci.yml配置文件样例github

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内容。shell

Why ?

为了让构建任务能够重用,简化配置工做,而且方便扩展第3方工具到构建流程中。架构

How ?

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

配置步骤:ui

  • 使用shell/bat插件执行 abs-cli.py -t工具,它会负责翻译ci.yml配置文件为build.xml
  • 使用build.xml文件执行自动化构建
  • 配置email-ext发邮件报告任务

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

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

相关文章
相关标签/搜索