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内容。
为了让构建任务可以重用,简化配置工作,并且方便扩展第3方工具到构建流程中。
需要借助jenkins或者其他CI工具完成自动化工作,这里选择jenkins作为CI工具,需要用到几个jenkins插件,bat/shell执行插件,ant插件和email-ext插件(这个插件主要是配合abs-plugin)
配置步骤:
由于需要对构建过程的产物进行报告展示,可以借用jenkins自代的插件进行展示,而我们开发了一套基于xsl+xml=html的方式展示构建过程的数据abs-plugin,它是一个jenkins插件将展示概要信息和详细信息,还可以开发email-ext的邮件报告模板,在邮件中也可以看到这样的报告,截图如下:
注:敬请关注下期:abs-tasks架构介绍?
abs code: https://github.com/liouys/abs