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

使用Jenkins創(chuàng)建Java應(yīng)用的持續(xù)集成

更新時(shí)間:

應(yīng)用在迭代升級(jí)過程中,需要持續(xù)集成與持續(xù)部署。使用Jenkins為SAE應(yīng)用的構(gòu)建持續(xù)集成(CI)環(huán)境。

前提條件

背景信息

您可以使用Jenkins構(gòu)建SAE應(yīng)用的持續(xù)集成方案。本文適用于對(duì)以下語言或工具有一定了解的開發(fā)人員。

工具

說明

Maven

Maven是一個(gè)項(xiàng)目管理和構(gòu)建的自動(dòng)化工具。

Jenkins

Jenkins是一個(gè)可擴(kuò)展的持續(xù)集成引擎。

GitLab

GitLab是一個(gè)利用Ruby on Rails開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個(gè)自托管的Git項(xiàng)目倉庫,可通過Web界面進(jìn)行訪問公開的或者私人項(xiàng)目。 它擁有與GitHub類似的功能,能夠?yàn)g覽源代碼,管理缺陷和注釋。

步驟一:配置項(xiàng)目

修改Maven項(xiàng)目配置,添加toolkit-maven-plugin及應(yīng)用部署信息。具體操作,請(qǐng)參見通過Maven插件自動(dòng)部署應(yīng)用

說明

修改項(xiàng)目配置后,建議您在本地使用Maven構(gòu)建驗(yàn)證配置是否正確。

步驟二:配置Jenkins

  1. 在Jenkins控制臺(tái)的菜單欄中選擇Manage Jenkins > Manage Plugins,安裝Git和GitLab插件。

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

    • GitLab Hook Plugin插件可以幫助Jenkins在收到GitLab發(fā)來的Hook后觸發(fā)一次構(gòu)建任務(wù)。

    安裝和配置 Jenkins

  2. 在Jenkins控制臺(tái)的菜單欄中選擇Manage Jenkins > Global Tool Configuration,設(shè)置Maven版本名稱并配置路徑,單擊保存

     Jenkins 控制臺(tái)設(shè)置Maven

  3. 在Jenkins服務(wù)器上生成SSH RSA密鑰對(duì),并將公鑰導(dǎo)入GitLab,實(shí)現(xiàn)Jenkins拉取GitLab代碼時(shí)的自動(dòng)認(rèn)證。

    1. 在Jenkins服務(wù)器生成SSH RSA密鑰對(duì)。

      EDAS在 Jenkins 服務(wù)器運(yùn)行 Jenkins 軟件的用戶下,生成 SSH RSA 密鑰對(duì)

    2. 進(jìn)入GitLab首頁,在菜單欄選擇Settings > Deploy Keys ,并單擊New Deploy Key ,導(dǎo)入在Jenkins服務(wù)器上創(chuàng)建的SSH RSA公鑰。

      EDAS使用Jenkins在gitlab導(dǎo)公鑰1

步驟三:創(chuàng)建Jenkins任務(wù)

  1. 在Jenkins首頁左側(cè)導(dǎo)航欄中單擊新建Item,在創(chuàng)建任務(wù)界面輸入任務(wù)名稱,并選擇Freestyle project,單擊確定,配置任務(wù)信息。

    EDAS使用Jenkins集成之創(chuàng)建項(xiàng)目

  2. 單擊源碼管理,在源碼管理頁簽中選擇Git,并設(shè)置相關(guān)參數(shù)。

    • Repository URL:您的項(xiàng)目的Git協(xié)議地址。

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

      重要

      請(qǐng)確保您的SSH RSA公匙已添加到該Git項(xiàng)目所在的GitLab中,否則將會(huì)報(bào)錯(cuò)。

    EDAS使用Jenkins集成之源碼管理

  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 VersionGoals。如果您想部署多模塊工程,請(qǐng)參見(可選)創(chuàng)建多模塊工程的Jenkins任務(wù)

    • Maven Version:?jiǎn)螕粼撨x項(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ù),請(qǐng)根據(jù)實(shí)際情況輸入)。

    SAE

    說明

    Maven配置完成后,在步驟五:提交變更到GitLab步驟中便可通過POP API方式觸發(fā)應(yīng)用部署。

步驟四:配置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

    配置 Gitlab 的 Web Hook,實(shí)現(xiàn)自動(dòng)構(gòu)建

  3. 配置完成后,單擊Test Hook,測(cè)試配置結(jié)果。

    配置 Gitlab 的 Web 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ā)部署。

說明

構(gòu)建的Maven項(xiàng)目中配置了通過SAE POP API方式部署應(yīng)用的腳本。

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

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
            

如果部署失敗,您可以登錄SAE控制臺(tái),查看此次部署任務(wù)的執(zhí)行過程。具體步驟,請(qǐng)參見查看變更記錄

(可選)創(chuàng)建多模塊工程的Jenkins任務(wù)

如果您需要?jiǎng)?chuàng)建多模塊工程的Jenkins任務(wù),您可以參考以下內(nèi)容設(shè)置。

創(chuàng)建多模塊工程的Jenkins任務(wù)和步驟三:創(chuàng)建Jenkins任務(wù)的第5步基本相同,只需要修改調(diào)用頂層Maven目標(biāo)。如果工程為多模塊工程,想在Jenkins中部署子模塊的話,那么需要在父模塊中調(diào)用mvn clean install命令,然后在子模塊中調(diào)用mvn clean package toolkit:deploy -Dtoolkit_profile=toolkit_profile.yaml -Dtoolkit_package=toolkit_package.yaml -Dtoolkit_deploy=toolkit_deploy.yaml命令。參數(shù)的具體說明,請(qǐng)參見通過Maven插件自動(dòng)部署應(yīng)用

Demo工程為例的工程結(jié)構(gòu)如下。

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

其中,detail、itemcenter、itemcenter-api為子模塊,如果您想部署itemcenter模塊的話,需要在父工程中設(shè)置一個(gè)clean install構(gòu)建目標(biāo),然后在itemcenter模塊中設(shè)置clean package toolkit:deploy -Dtoolkit_profile=toolkit_profile.yaml -Dtoolkit_package=toolkit_package.yaml -Dtoolkit_deploy=toolkit_deploy.yaml構(gòu)建目標(biāo)。

SAE