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