ABS介绍-基于Ant的构建插件系统
admin
2023-07-31 01:51:11
0

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

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...