Jenkins 用戶文檔(使用Maven構建Java應用程序)

使用Maven構建Java應用程序

本教程向你展現如何使用Jenkins編排使用Maven構建簡單的Java應用程序。java

若是你是使用Maven且不熟悉CI/CD概念的Java開發人員,或者你可能熟悉這些概念但不知道如何使用Jenkins實現構建應用程序,那麼本教程適合你。git

簡單的Java應用程序(你將從GitHub上的示例存儲庫獲取)輸出字符串「Hello world!」並附帶一些單元測試,以檢查主應用程序是否按預期工做,這些測試的結果將保存到JUnit XML報告中。github

持續時間:本教程須要20-40分鐘才能完成(假設你已經知足如下的前提條件),具體的持續時間取決於你的機器的速度以及你是否已經從另外一個教程中運行了Docker中的Jenkins。docker

你能夠隨時中止本教程,並從上次中止的地方繼續。apache

若是你已經運行了另外一個教程,則能夠跳過下面的前提條件和在Docker中運行Jenkins部分,而後繼續分析示例存儲庫(確保你在本地安裝了Git),若是你須要從新啓動Jenkins,只需按照中止並從新啓動Jenkins中的重啓說明操做,而後繼續。segmentfault

前提條件

對於本教程,你將須要:瀏覽器

  • macOS、Linux或Windows機器:bash

    • 256MB的RAM,但推薦超過512MB。
    • Jenkins以及Docker鏡像和容器的10GB驅動器空間。
  • 安裝瞭如下軟件:app

    • Docker — 在安裝Jenkins頁面的安裝Docker部分中閱讀有關安裝Docker的更多信息,注意:若是你使用Linux,本教程假定你沒有以root用戶身份運行Docker命令,而是使用單個用戶賬戶訪問本教程中使用的其餘工具。
    • Git和可選的GitHub Desktop

在Docker中運行Jenkins

在本教程中,你將從jenkinsci/blueocean Docker鏡像中將Jenkins做爲Docker容器運行。maven

要在Docker中運行Jenkins,請遵循下面針對macOS和Linux或Windows的相關說明。

你能夠在安裝Jenkins頁面的Docker和在Docker中下載並運行Jenkins部分閱讀有關Docker容器和鏡像概念的更多信息。

在macOS和Linux上

  1. 打開一個終端窗口。
  2. 使用如下docker run命令將jenkinsci/blueocean鏡像做爲Docker中的容器運行(請記住,若是還沒有執行此操做,此命令會自動下載鏡像):

    docker run \
     --rm \
     -u root \
     -p 8080:8080 \
     -v jenkins-data:/var/jenkins_home \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v "$HOME":/home \
     jenkinsci/blueocean
    • 將容器中的/var/jenkins_home目錄映射到名爲jenkins-data的Docker,若是此卷不存在,則此docker run命令將自動爲你建立卷。
    • 將主機(即本地)計算機上的$HOME目錄(一般是/Users/<your-username>目錄)映射到容器中的/home目錄。
  3. 繼續進行安裝嚮導。

在Windows上

  1. 打開命令提示符窗口。
  2. 使用如下docker run命令將jenkinsci/blueocean鏡像做爲Docker中的容器運行(請記住,若是還沒有執行此操做,此命令會自動下載鏡像):

    docker run ^
     --rm ^
     -u root ^
     -p 8080:8080 ^
     -v jenkins-data:/var/jenkins_home ^
     -v /var/run/docker.sock:/var/run/docker.sock ^
     -v "%HOMEPATH%":/home ^
     jenkinsci/blueocean

    有關這些選項的說明,請參閱上面的macOS和Linux說明。

  3. 繼續進行安裝嚮導。

訪問Jenkins/Blue Ocean Docker容器

若是你有使用Docker的經驗,並但願或須要使用docker exec命令經過終端/命令提示符訪問Jenkins/Blue Ocean Docker容器,你能夠添加一個選項,如--name jenkins-tutorials(上面docker run命令),這將爲Jenkins/Blue Ocean Docker容器命名爲「jenkins-tutorials」。

這意味着你可使用docker exec命令訪問Jenkins/Blue Ocean容器(經過單獨的終端/命令提示符窗口),例如:

docker exec -it jenkins-tutorials bash

安裝嚮導

在你訪問Jenkins以前,你須要執行一些快速的「一次性」步驟。

解鎖Jenkins

首次訪問新的Jenkins實例時,系統會要求你使用自動生成的密碼將其解鎖。

  1. 在終端/命令提示符窗口中出現2組星號後,瀏覽到http://localhost:8080並等待,直到出現解鎖Jenkins頁面。

    clipboard.png

  2. 從終端/命令提示符窗口複製自動生成的字母數字密碼(在兩組星號之間)。

    setup-jenkins-02-copying-initial-admin-password.png

  3. 解鎖Jenkins頁面上,將此密碼粘貼到管理員密碼字段中,而後單擊繼續

使用插件自定義Jenkins

解鎖Jenkins後,將出現自定義Jenkins頁面。

在此頁面上,單擊安裝推薦的插件

安裝嚮導顯示正在配置的Jenkins的進度以及正在安裝的建議插件,此過程可能須要幾分鐘時間。

建立第一個管理員用戶

最後,Jenkins要求你建立第一個管理員用戶。

  1. 出現建立第一個管理員用戶頁面時,在相應字段中指定你的詳細信息,而後單擊保存並完成
  2. Jenkins已就緒!頁面出現時,單擊開始使用Jenkins

    • 這個頁面可能代表Jenkins已經準備好了!相反,若是是,請單擊重啓
    • 若是頁面在一分鐘後沒有自動刷新,請使用Web瀏覽器手動刷新頁面。
  3. 若是須要,使用你剛剛建立的用戶的憑據登陸Jenkins,你就能夠開始使用Jenkins!

中止和從新啓動Jenkins

在本教程的其他部分中,你能夠經過在上面的運行docker run ...命令的終端/命令提示符窗口中鍵入Ctrl-C來中止Jenkins/Blue Ocean Docker容器。

要從新啓動Jenkins/Blue Ocean Docker容器:

  1. 運行與上面的macOS、Linux或Windows相同的docker run ...命令。注意:若是有更新的鏡像,此過程還會更新jenkinsci/blueocean Docker鏡像。
  2. 瀏覽http://localhost:8080
  3. 等到登陸頁面出現並登陸。

在GitHub上Fork並clone樣本存儲庫

從GitHub獲取簡單的「Hello world!」Java應用程序,經過將應用程序源代碼的示例存儲庫fork到你本身的GitHub賬戶,而後克隆此fork到本地。

  1. 確保你已登陸GitHub賬戶,若是你尚未GitHub賬戶,請在GitHub網站上註冊免費賬戶。
  2. 將GitHub上的simple-java-maven-app項目fork到你本地的GitHub賬戶,若是你須要有關此過程的幫助,請參閱GitHub網站上的Fork A Repo文檔以獲取更多信息。
  3. 克隆你fork的simple-java-maven-app存儲庫(在GitHub上)本地到你的計算機上,要開始此過程,請執行如下任一操做(其中<your-username>是你的操做系統上的用戶賬戶的名稱):

    • 若是你的計算機上安裝了GitHub Desktop應用程序:

      • 在GitHub中,單擊你fork的存儲庫上的綠色Clone or download按鈕,而後單擊Open in Desktop
      • 在GitHub Desktop中,在Clone a Repository對話框中單擊Clone以前,請確保本地路徑爲:

        • macOS是/Users/<your-username>/Documents/GitHub/simple-java-maven-app
        • Linux是/home/<your-username>/GitHub/simple-java-maven-app
        • Windows是C:\Users\<your-username>\Documents\GitHub\simple-java-maven-app
    • 不然:

      • 打開終端/命令行提示符並cd到相應的目錄:

        • macOS — /Users/<your-username>/Documents/GitHub/
        • Linux — /home/<your-username>/GitHub/
        • Windows — C:\Users\<your-username>\Documents\GitHub\(即便使用Git bash命令行窗口而不是一般的Microsoft命令提示符)
      • 運行如下命令以繼續/完成克隆你的fork的存儲庫: git clone https://github.com/YOUR-GITHUB-ACCOUNT-NAME/simple-java-maven-app其中YOUR-GITHUB-ACCOUNT-NAME是你的GitHub賬戶的名稱。

在Jenkins中建立管道項目

  1. 返回Jenkins,必要時再次登陸,而後單擊新建任務
    注意:若是你沒有看到此內容,請單擊左上角的新建項目
  2. 輸入一個任務名稱字段中,指定新管道項目的名稱(例如,simple-java-maven-app)。
  3. 向下滾動並單擊流水線,而後單擊頁面末尾的肯定
  4. (可選)在下一頁,在描述字段中指定管道的簡要描述(例如,演示如何使用Jenkins使用Maven構建簡單的Java應用程序的入門級管道)。
  5. 單擊頁面頂部的Pipeline選項卡以向下滾動到Pipeline部分。
  6. Definition字段中,選擇Pipeline script from SCM選項,此選項指示Jenkins從源控制管理(SCM)獲取管道,該管理將是你本地克隆的Git存儲庫。
  7. SCM字段中,選擇Git
  8. Repository URL字段中,指定上面本地克隆的存儲庫的目錄路徑,該路徑來自主機上的用戶賬戶/主目錄,映射到Jenkins容器的/home目錄 - 即

    • 對於macOS — /home/Documents/GitHub/simple-java-maven-app
    • 對於Linux — /home/GitHub/simple-java-maven-app
    • 對於Windows — /home/Documents/GitHub/simple-java-maven-app
  9. 單擊保存以保存新的管道項目,你如今已準備好開始建立Jenkinsfile了,你將把它檢入本地克隆的Git存儲庫。

上一篇:部署

相關文章
相關標籤/搜索