使用 Jenkins 創(chuàng)建微服務(wù)應(yīng)用的持續(xù)集成
體驗(yàn)簡介
本場景指導(dǎo)您結(jié)合Jenkins把微服務(wù)應(yīng)用部署到SAE平臺(tái):場景資源
背景知識
本場景主要涉及以下云產(chǎn)品和服務(wù):Serverless 應(yīng)用引擎 SAE
Serverless 應(yīng)用引擎 SAE(Serverless App Engine)是面向應(yīng)用的 Serverless PaaS 平臺(tái),能夠幫助 PaaS 層用戶免運(yùn)維 IaaS、按需使用、按量計(jì)費(fèi),做到低門檻微服務(wù)應(yīng)用上云。相對于其他 Serverless 產(chǎn)品,它抽象了應(yīng)用的概念,并提供了一整套微服務(wù)解決方案,支持 Spring Cloud、Dubbo、HSF 等主流的微服務(wù)開發(fā)框架,實(shí)現(xiàn)了 Serverless 架構(gòu)和微服務(wù)架構(gòu)的完美結(jié)合。
創(chuàng)建資源
在頁面左側(cè),單擊云產(chǎn)品資源下拉菜單,查看本次實(shí)驗(yàn)資源。
單擊免費(fèi)開通創(chuàng)建所需資源。
說明:
資源創(chuàng)建過程需要1~3分鐘。完成實(shí)驗(yàn)資源的創(chuàng)建后,您可以在云產(chǎn)品資源列表查看已創(chuàng)建的資源信息,例如:IP地址、用戶名和密碼等。
配置項(xiàng)目
1.修改Maven項(xiàng)目配置,添加toolkit-maven-plugin及部署信息,具體操作,請參見通過Maven插件自動(dòng)化部署應(yīng)用。
配置Jenkins
1.在Jenkins控制臺(tái)的菜單欄中選擇Manage Jenkins > Manage Plugins,安裝Git和GitLab插件。
2.在Jenkins控制臺(tái)的菜單欄中選擇Manage Jenkins > Global Tool Configuration,設(shè)置Maven版本名稱并配置路徑,單擊保存。
3.在Jenkins服務(wù)器上生成SSH RSA密鑰對,并將公鑰導(dǎo)入GitLab,實(shí)現(xiàn)Jenkins拉取GitLab代碼時(shí)的自動(dòng)認(rèn)證。
3.1在Jenkins服務(wù)器生成SSH RSA密鑰對。具體信息,GitLab文檔
3.2進(jìn)入GitLab首頁,在菜單欄選擇Settings > Deploy Keys ,并單擊New Deploy Key ,導(dǎo)入在Jenkins服務(wù)器上創(chuàng)建的SSH RSA公鑰。
創(chuàng)建Jenkins任務(wù)
1.在Jenkins首頁左側(cè)導(dǎo)航欄中單擊新建Item,在創(chuàng)建任務(wù)界面輸入任務(wù)名稱,并選擇Freestyle project,單擊確定,配置任務(wù)信息。
2.單擊源碼管理,在源碼管理頁簽中選擇Git,并設(shè)置相關(guān)參數(shù)。
Repository URL:您的項(xiàng)目的Git協(xié)議地址。
Credentials:安全憑證,選擇無即可。
3.單擊構(gòu)建觸發(fā)器,在構(gòu)建觸發(fā)器頁簽選中GitHub hook trigger for GITScm polling。
4.單擊構(gòu)建環(huán)境,在構(gòu)建環(huán)境頁簽選中Add timestamps to the Console Output,為控制臺(tái)輸出的信息添加時(shí)間戳。
5.單擊構(gòu)建,在構(gòu)建頁簽單擊增加構(gòu)建步驟,在下拉列表中選擇Invoke top-level Maven targets。
6.在Invoke top-level Maven targets區(qū)域設(shè)置Maven Version和Goals。如果您想部署多模塊工程,請參見(可選)創(chuàng)建多模塊工程的Jenkins任務(wù)。
Maven Version:單擊該選項(xiàng)后面的下拉框,選擇在全局工具配置里配置的Maven版本名稱。
Goals:輸入mvn clean package toolkit:deploy -Dtoolkit_profile=toolkit_profile.yaml -Dtoolkit_package=toolkit_package.yaml -Dtoolkit_deploy=toolkit_deploy.yaml (如有其它參數(shù),請根據(jù)實(shí)際情況輸入)。
配置GitLab的Web Hook
1.在Gitlab首頁右鍵單擊GitLab工程,然后選擇Setting > Web Hooks。
2.在Web Hooks頁面的URL區(qū)域中輸入http://jenkins服務(wù)器地址:jenkins服務(wù)器監(jiān)聽端口/git/notifyCommit?url=本項(xiàng)目的git協(xié)議地址。
圖中表示的Jenkins服務(wù)器地址為您的Jenkins服務(wù)器的Web訪問地址如192.168.XX.XX:8080
3.配置完成后,單擊Test Hook,測試配置結(jié)果
提交變更到GitLab
如果上述步驟配置正確,提交后將會(huì)觸發(fā)一次GitLab Hook。Jenkins在接收到該Hook后會(huì)構(gòu)建您的Maven項(xiàng)目,并在構(gòu)建結(jié)束時(shí)調(diào)用SAE POP API腳本觸發(fā)部署。
提交部署成功輸出的日志信息(Build Number > 控制臺(tái)輸出)。
如果部署失敗,您可以登錄SAE控制臺(tái),查看此次部署任務(wù)的執(zhí)行過程。具體步驟,請參見查看變更記錄。