日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Jenkins創建持續集成

使用Jenkins可以構建EDAS應用的持續集成方案。該方案涉及下列計算機語言或開發工具,閱讀本文您可以對下述的語言或工具有一定的理解。本文介紹如何使用Jenkins創建持續集成。

前提條件

在開始持續集成之前,需要完成下述的準備工作。

  1. 獲取阿里云的AccessKey ID和AccessKey Secret。

    1. 使用已經開通了EDAS服務的主賬號登錄阿里云官網。

    2. 進入Access Key控制臺,創建AccessKey ID和AccessKey Secret。EDAS使用Jenkins創建持續集成01

  2. 在使用Jenkins自動部署應用之前,需要先在EDAS控制臺中創建并部署應用。

    1. 登錄EDAS控制臺。

    2. 部署應用。具體操作,請參見應用創建和部署概述(ECS)創建和部署應用概述(K8s)。

      如果已經創建了應用,請忽略此步。

    3. 在左側導航欄,單擊應用管理 > 應用列表。找到創建的應用并單擊應用名稱進入詳情頁面,獲取應用ID的字段內容。Application details

  3. 使用GitLab托管您的代碼。您可以自行搭建Gitlab或者使用阿里云Codeup。

    本文使用通過自行搭建的GitLab做演示,關于Gitlab的更多信息,請參見GitLab。

  4. 了解并使用Jenkins。關于Jenkins的更多詳細信息,請參見Jenkins官網

背景信息

說明

ECS集群和容器服務Kubernetes集群都支持使用Jenkins創建持續集成。

工具

說明

Maven

Maven是一個項目管理和構建的自動化工具。

Jenkins

Jenkins 是一個可擴展的持續集成引擎。

GitLab

GitLab 是一個利用Ruby on Rails開發的開源應用程序,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。 它擁有與GitHub類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。

配置項目

修改項目配置,添加toolkit-maven-plugin及部署信息,具體操作,請參見使用toolkit-maven-plugin插件升級應用(ECS集群)。您在修改完項目配置后,建議在本地使用Maven構建驗證配置是否正確。

安裝和配置Jenkins

  1. 進入Jenkins官網下載安裝Jenkins。

  2. 在Jenkins控制臺的菜單欄,選擇系統管理 > 插件管理,安裝Git和GitLab插件。

    • 安裝GIT Client Plugin和GIT Plugin插件可以幫助Jenkins拉取Git倉庫中的代碼。

    • 安裝Gitlab Hook Plugin插件可以幫助Jenkins在收到Gitlab發來的Hook后觸發一次構建。

    安裝和配置Jenkins

  3. 安裝Maven構建工具,請參見Maven官網

    在Jenkins控制臺的菜單欄,選擇系統管理 > 全局工具配置,選擇Maven版本名稱并配置路徑。

     Jenkins控制臺設置Maven

  4. 在Jenkins服務器上生成SSH RSA密鑰對,并將公鑰導入GitLab,實現Jenkins拉取GitLab代碼時自動認證。

    1. 在Jenkins服務器運行Jenkins軟件的用戶下,生成SSH RSA密鑰對。具體操作,請參見GitLab文檔

      EDAS在Jenkins服務器運行Jenkins軟件的用戶下,生成SSH RSA密鑰對

    2. 進入GitLab首頁,在菜單欄選擇Settings > Deploy Keys,并單擊new deploy key添加key,導入在Jenkins服務器上創建的SSH RSA公鑰。

      EDAS使用Jenkins在gitlab導公鑰1EDAS使用Jenkins在gitlab導公鑰2

  5. 創建Jenkins任務。

    1. 在Jenkins首頁左側導航欄,單擊新建,創建Jenkins任務,并選擇構建一個自由風格的軟件項目

      EDAS使用Jenkins集成之創建項目

    2. 源碼管理頁面,選擇Git,并設置相關參數。

      • Repository URL:您的項目的Git協議地址。

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

        說明

        前提是運行Jenkins軟件的用戶的SSH RSA公鑰已添加到該Git項目所在的GitLab中,否則會報錯。

      EDAS使用Jenkins集成之源碼管理

    3. 單擊構建觸發器頁簽,勾選輪詢SCM。

    4. 單擊構建環境頁簽,勾選Add timestamps to the Console Output(為控制臺輸出的信息添加時間戳)。

    5. 單擊構建頁簽,然后單擊增加構建步驟

    6. 調用頂層Maven目標區域,設置Maven版本目標。如果您想部署多模塊工程,請參見創建多模塊工程的Jenkins任務。

      • Maven Version:單擊該選項后面的下拉框,選擇在全局工具配置里配置的Maven版本名稱。

      • Goals:填入clean package toolkit:deploy (如有其它參數,請根據實際情況填入)

      EDAS使用Jekins集成之調用頂層Maven目標

配置Gitlab的Web Hook,實現自動構建

  1. 右鍵單擊GitLab工程,然后選擇Setting > Web Hooks。

  2. Web Hooks頁面的URL文本框中輸入http://jenkins服務器地址:jenkins服務器監聽端口/git/notifyCommit?url=本項目的git協議地址

    例如:http://123.57.xx.xxx:8080/git/notifyCommit?url=git@codeup.aliyun.com:tdy218/hello-edas.git。

    配置Gitlab的Web Hook,實現自動構建

    圖中表示的Jenkins服務器地址為您的Jenkins服務器的Web訪問地址,例如http://123.57.xx.xxx:8080。

  3. 配置完成后,單擊Test Hook,進行測試。

    配置Gitlab的Web Hook結果

配置正確后,提交變更到GitLab

如果上述步驟配置正確,這次提交會觸發一次GitLab Hook。Jenkins在接受到這個Hook后會構建您的Maven項目,并在構建結束時調用EDAS POP API腳本觸發部署。

提交部署成功輸出的日志信息(Build Number > 控制臺輸出)。

15:58:51 [INFO] Deploy application successfully!
15:58:51 [INFO] ------------------------------------------------------------------------
15:58:51 [INFO] BUILD SUCCESS
15:58:51 [INFO] ------------------------------------------------------------------------
15:58:51 [INFO] Total time: 24.330 s
15:58:51 [INFO] Finished at: 2018-12-25T15:58:51+08:00
15:58:51 [INFO] Final Memory: 23M/443M
15:58:51 [INFO] ------------------------------------------------------------------------
15:58:51 Finished: SUCCESS
            

如果部署失敗,可以登錄EDAS控制臺,在左側導航欄中單擊應用管理 > 應用列表,在應用列表頁面單擊具體應用名稱,進入應用詳情頁面。在左側導航欄單擊變更記錄來查看此次部署任務的執行過程。

創建多模塊工程的Jenkins任務

創建多模塊工程的Jenkins任務和安裝和配置Jenkins第5步基本相同,只需要調整下調用頂層Maven目標。如果工程為多模塊工程,想在Jenkins中部署子模塊的話,那么需要在父模塊中調用mvn clean install命令,然后在子模塊中調用mvn clean package toolkit:deploy命令。以Demo工程為例,工程結構如下:

sh-3.2# tree -L 1 carshop
carshop
├── detail
├── itemcenter
├── itemcenter-api
└── pom.xml            

其中,detail、itemcenter、itemcenter-api為子模塊,現在想部署itemcenter模塊的話,那么需要在父工程中設置一個clean install構建目標,然后在itemcenter模塊中設置clean package toolkit:deploy構建目標。

創建多模塊工程的Jenkins任務