天天看點

使用 Jenkins 建立微服務應用的持續內建

體驗簡介

本場景指導您結合Jenkins把微服務應用部署到SAE平台:

場景資源

背景知識

本場景主要涉及以下雲産品和服務:Serverless 應用引擎 SAE

Serverless 應用引擎 SAE(Serverless App Engine)是面向應用的 Serverless PaaS 平台,能夠幫助 PaaS 層使用者免運維 IaaS、按需使用、按量計費,做到低門檻微服務應用上雲。相對于其他 Serverless 産品,它抽象了應用的概念,并提供了一整套微服務解決方案,支援 Spring Cloud、Dubbo、HSF 等主流的微服務開發架構,實作了 Serverless 架構和微服務架構的完美結合。

建立資源

  1. 在頁面左側,單擊雲産品資源下拉菜單,檢視本次實驗資源。
  2. 單擊免費開通建立所需資源。

說明:

資源建立過程需要1~3分鐘。完成實驗資源的建立後,您可以在雲産品資源清單檢視已建立的資源資訊,例如:IP位址、使用者名和密碼等。

配置項目

1.修改Maven項目配置,添加toolkit-maven-plugin及部署資訊,具體操作,請參見通過

Maven插件自動化部署應用

配置Jenkins

1.在

Jenkins控制台

的菜單欄中選擇Manage Jenkins > Manage Plugins,安裝Git和GitLab插件。

使用 Jenkins 建立微服務應用的持續內建

2.在Jenkins控制台的菜單欄中選擇Manage Jenkins > Global Tool Configuration,設定Maven版本名稱并配置路徑,單擊儲存。

使用 Jenkins 建立微服務應用的持續內建

3.在Jenkins伺服器上生成SSH RSA密鑰對,并将公鑰導入GitLab,實作Jenkins拉取GitLab代碼時的自動認證。

3.1在Jenkins伺服器生成SSH RSA密鑰對。具體資訊,

GitLab文檔
使用 Jenkins 建立微服務應用的持續內建

3.2進入GitLab首頁,在菜單欄選擇Settings > Deploy Keys ,并單擊New Deploy Key ,導入在Jenkins伺服器上建立的SSH RSA公鑰。

使用 Jenkins 建立微服務應用的持續內建

建立Jenkins任務

1.在Jenkins首頁左側導航欄中單擊建立Item,在建立任務界面輸入任務名稱,并選擇Freestyle project,單擊确定,配置任務資訊。

使用 Jenkins 建立微服務應用的持續內建

2.單擊源碼管理,在源碼管理頁簽中選擇Git,并設定相關參數。

Repository URL:您的項目的Git協定位址。

Credentials:安全憑證,選擇無即可。

使用 Jenkins 建立微服務應用的持續內建

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 (如有其它參數,請根據實際情況輸入)。

使用 Jenkins 建立微服務應用的持續內建

配置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

使用 Jenkins 建立微服務應用的持續內建

3.配置完成後,單擊Test Hook,測試配置結果

使用 Jenkins 建立微服務應用的持續內建

送出變更到GitLab

如果上述步驟配置正确,送出後将會觸發一次GitLab Hook。Jenkins在接收到該Hook後會建構您的Maven項目,并在建構結束時調用SAE POP API腳本觸發部署。

送出部署成功輸出的日志資訊(Build Number > 控制台輸出)。

使用 Jenkins 建立微服務應用的持續內建

如果部署失敗,您可以登入

SAE控制台

,檢視此次部署任務的執行過程。具體步驟,

請參見檢視變更記錄。