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插件

相關文章
相關標籤/搜索