摘要:是的首字母簡寫,基于腳本開發(fā)的一套可擴(kuò)展的構(gòu)建系統(tǒng),擴(kuò)展任務(wù)定義為。為了簡化用戶配置,設(shè)計(jì)了文件,通過將其翻譯為默認(rèn)的構(gòu)建文件。
What ?
abs是Ant Build System的首字母簡寫,基于ant腳本開發(fā)的一套可擴(kuò)展的構(gòu)建系統(tǒng),擴(kuò)展任務(wù)定義為abs-task。將需要構(gòu)建的動(dòng)作包裝成abs的擴(kuò)展任務(wù)abs-task。
為了簡化用戶配置,設(shè)計(jì)了ci.yml文件,通過abs-cli.py將其翻譯為build.xml(默認(rèn)的ant構(gòu)建文件)。用戶在工程的ci.yml配置文件中添加此任務(wù)就可以執(zhí)行此構(gòu)建。
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"
轉(zhuǎn)化后的結(jié)果可以參見:??abs-tasks架構(gòu)介紹??中的build.xml內(nèi)容。
Why ?為了讓構(gòu)建任務(wù)可以重用,簡化配置工作,并且方便擴(kuò)展第3方工具到構(gòu)建流程中。
How ?需要借助jenkins或者其他CI工具完成自動(dòng)化工作,這里選擇jenkins作為CI工具,需要用到幾個(gè)jenkins插件,bat/shell執(zhí)行插件,ant插件和email-ext插件(這個(gè)插件主要是配合abs-plugin)
配置步驟:
使用shell/bat插件執(zhí)行 abs-cli.py -t工具,它會(huì)負(fù)責(zé)翻譯ci.yml配置文件為build.xml
使用build.xml文件執(zhí)行自動(dòng)化構(gòu)建
配置email-ext發(fā)郵件報(bào)告任務(wù)
由于需要對(duì)構(gòu)建過程的產(chǎn)物進(jìn)行報(bào)告展示,可以借用jenkins自代的插件進(jìn)行展示,而我們開發(fā)了一套基于xsl+xml=html的方式展示構(gòu)建過程的數(shù)據(jù)abs-plugin,它是一個(gè)jenkins插件將展示概要信息和詳細(xì)信息,還可以開發(fā)email-ext的郵件報(bào)告模板,在郵件中也可以看到這樣的報(bào)告,截圖如下:
注:敬請(qǐng)關(guān)注下期:abs-tasks架構(gòu)介紹?
abs code: https://github.com/liouys/abs
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45377.html
摘要:項(xiàng)目構(gòu)建基礎(chǔ)從屬于筆者的現(xiàn)代開發(fā)基礎(chǔ)系列文章,介紹了的歷史背景與多種構(gòu)建工具對(duì)比,以及的基本配置安裝與使用本文涉及的參考資料聲明在學(xué)習(xí)與實(shí)踐資料索引以及學(xué)習(xí)與資料索引。 Maven 項(xiàng)目構(gòu)建基礎(chǔ)從屬于筆者的現(xiàn)代 Java 開發(fā)基礎(chǔ)系列文章,介紹了 Maven 的歷史背景與多種構(gòu)建工具對(duì)比,以及 Maven 的基本配置安裝與使用;本文涉及的參考資料聲明在 Java 學(xué)習(xí)與實(shí)踐資料索引以及...
摘要:例如,可以提供更改日志用源碼管理工具生成交叉引用郵件列表依賴清單單元測試報(bào)告含覆蓋率提供開發(fā)過程的最佳實(shí)踐指南通過收集現(xiàn)行的開發(fā)最佳實(shí)踐,來指導(dǎo)用構(gòu)建的項(xiàng)目。 本文大約1026個(gè)字,閱讀時(shí)間4分鐘。 主要介紹了Maven名字的由來、Maven產(chǎn)生的背景和Maven的主要功能。 問題:Maven是啥? 大多數(shù)人都用Maven來管理Java項(xiàng)目的依賴,這個(gè)應(yīng)該是Maven的主要功能沒跑了,...
摘要:在之前,十個(gè)項(xiàng)目可能有十種構(gòu)建方式,但通過,所有項(xiàng)目的構(gòu)建命令都是簡單一致的。有利于促進(jìn)項(xiàng)目團(tuán)隊(duì)的標(biāo)準(zhǔn)化。手工勞動(dòng)往往意味著低效,意味著容易出錯(cuò)。這在很大程度上消除了重復(fù)。默認(rèn)情況下,該文件夾下放置了本地倉庫。學(xué)習(xí)實(shí)戰(zhàn)許曉斌著 Introduction Maven是一個(gè)異常強(qiáng)大的構(gòu)建工具,能夠幫我們自動(dòng)化構(gòu)建過程,從清理、編譯、測試到生成報(bào)告,再到打包和部署。通過Maven,我們只需要...
摘要:軟件架構(gòu)師需要掌握的開源工具的是當(dāng)前敏捷開發(fā)領(lǐng)域最重要的工具之一。主要用于持續(xù)自動(dòng)地構(gòu)建測試軟件項(xiàng)目,如與。監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。是應(yīng)用程序最好的軟件測試框架之一。是一種自由和開放源碼的類操作系統(tǒng) Java軟件架構(gòu)師需要掌握的開源工具1. JIRAAtlassian的JIRA是當(dāng)前敏捷開發(fā)領(lǐng)域最重要的工具之一。它用于錯(cuò)誤...
閱讀 2964·2021-11-04 16:06
閱讀 788·2021-09-30 09:56
閱讀 1859·2021-09-22 10:02
閱讀 2638·2019-08-29 13:43
閱讀 2243·2019-08-29 13:42
閱讀 2317·2019-08-29 12:21
閱讀 1074·2019-08-29 11:29
閱讀 1406·2019-08-26 13:51