Jekins持续集成在ERP研发中的应用实践
源寶導(dǎo)讀:“持續(xù)集成”是敏捷最佳實(shí)踐中,保證高質(zhì)量交付的關(guān)鍵環(huán)節(jié)之一。本文將介紹明源云ERP系統(tǒng)在研發(fā)過程中,應(yīng)用Jekins平臺完成持續(xù)集成自動構(gòu)建的實(shí)踐。
一、認(rèn)識持續(xù)集成
? ? 持續(xù)集成是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗(yàn)證,從而盡早地發(fā)現(xiàn)集成錯誤。
? ? ?持續(xù)集成的目的總結(jié)一句話:盡早測試、盡早發(fā)現(xiàn)問題,隨時發(fā)布。
二、Jenkins環(huán)境部署
2.1、為什么基于jenkins進(jìn)行持續(xù)集成部署
Jenkins是一個開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。
Jenkins支持跨平臺部署。
Jenkins生態(tài)非常強(qiáng)大,目前已有非常完備的開源插件庫,滿足各種所需。
2.2、Jenkins環(huán)境安裝
2.2.1、依賴環(huán)境安裝
JDK部署:因?yàn)閖enkins基于java開發(fā),運(yùn)行需要基于JDK;所以在安裝jenkins程序前需要先安裝JDK環(huán)境。
注意:JDK版本與Jenkins版本存在兼容性問題,請安裝JDK新版本。下載地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html。
Git部署:代碼托管在Git上,所以需要安裝Git環(huán)境。下載地址:https://git-scm.com/downloads。
TortoiseGit(小烏龜):用于代碼拉取中調(diào)試及問題排查使用;下載地址:https://tortoisegit.org/download/。
2.2.2、Jenkins安裝
? ? Jenkins安裝部署網(wǎng)上非常多的教程,這里就不作詳細(xì)說明,可參見:https://blog.csdn.net/qq_26344609/article/details/78253568。
2.2.3、必須插件安裝:
? ? Jenkins環(huán)境安裝好后,進(jìn)行持續(xù)集成配置,一些必備的插件不能少;常用插件:
Git插件:用于拉取Git倉庫代碼:
Powershell插件:用于編寫PowerShell腳本:
批處理插件:用于編寫bat腳本:
Inject environment環(huán)境變量:用于配置站點(diǎn)環(huán)境變量:
?
三、配套工具方法
3.1、環(huán)境變量配置:通常2種模式的變量設(shè)置。
Job內(nèi)定義全局變量:用于此job所有步驟的變量:
文件共享變量:適用于所有job公用的全局變量:
?
3.2、源代碼拉取:通過Git插件拉取倉庫源代碼:
3.3、?打差異包及按版本拉取:平臺推送的更新包包含兩種:全量包和增量包,所以我們的拉取shell腳本需要兼容2種模式:
??
3.4、遠(yuǎn)程停止程序池\服務(wù):代碼編譯完成或產(chǎn)品包拉取后,需要copy更新到站點(diǎn),往往因?yàn)檎军c(diǎn)在運(yùn)行,導(dǎo)致文件占用更新失敗,所以在更新文件前,需要停止站點(diǎn)或程序池,以便釋放文件:
?
3.5、同步元數(shù)據(jù)。
?
3.6、文件清理:程序更新時,有些文件需要刪除,否則可能導(dǎo)致程序報(bào)錯。
?
3.7、配置文件升級:用于web.config文件的升級處理。
?
3.8、SQL自動執(zhí)行:自動執(zhí)行程序包中的SQL。
?
四、展望
? ? 本章主要針對ERP環(huán)境部署中,多子系統(tǒng)環(huán)境部署中,使用到的相關(guān)技術(shù)進(jìn)行了介紹。這在持續(xù)集成中只屬于環(huán)境更新這一環(huán)節(jié),后續(xù)還會介紹持續(xù)集成中其他環(huán)節(jié),比如:單測調(diào)用、質(zhì)量檢測、執(zhí)行自動化測試等,敬請期待。
------ END ------
作者簡介
熊同學(xué):?測試專家,目前負(fù)責(zé)云ERP產(chǎn)品的測試工作。
也許您還想看
ERP平臺的自動化測試技術(shù)實(shí)踐
接口測試用例設(shè)計(jì)思路
微服務(wù)架構(gòu)下的測試策略
研發(fā)協(xié)同平臺持續(xù)集成實(shí)踐
研發(fā)協(xié)同平臺持續(xù)集成Jenkins作業(yè)設(shè)計(jì)演進(jìn)
總結(jié)
以上是生活随笔為你收集整理的Jekins持续集成在ERP研发中的应用实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多重继承和菱形问题
- 下一篇: Ids4 认证保护 API 方案更新