最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker安裝Jenkins并部署Maven項目詳細教程

 更新時間:2023年12月25日 11:06:04   作者:唯有代碼不會騙人  
這篇文章主要給大家介紹了關(guān)于Docker安裝Jenkins并部署Maven項目的相關(guān)資料,持續(xù)集成、持續(xù)交付不僅可以提示開發(fā)效率,還可以節(jié)省很多測試和運維的成本,需要的朋友可以參考下

一、前言

在開始之前,我們需要保證系統(tǒng)中已經(jīng)安裝了Docker、JDK、Maven。

二、Docker 拉取鏡像

我這里使用的是 2.344 版本的 Jenkins,拉取命令如下:

docker pull jenkins/jenkins:2.344

需要稍微等一會,等待拉取完成。

鏡像下載完成后,我們可以通過如下命令查看我們 docker 中的所有鏡像。

docker images

這里可以看到我們剛才拉取的 2.344版本的 Jenkins 鏡像。

三、運行容器

下載鏡像成功后,我們需要用此鏡像運行一個容器,命令如下:

docker run \
-d \
--name jenkins \
-u 0 \
-p 9999:8080 \
-p 8888:8888 \
-p 50000:50000 \
-v /usr/local/java/jdk-11.0.18:/usr/local/java/jdk-11.0.18 \
-v /usr/local/maven/apache-maven-3.6.1:/usr/local/maven/apache-maven-3.6.1 \
-v /home/jenkins_home:/home/jenkins_home \
jenkins/jenkins:2.344

命令解釋:

  • -d:在后臺運行
  • --name:為我們當前運行的容器取一個名稱
  • -u:以某個用戶的身份啟動(此處的 0 代表是 root 用戶,而如果不加該命令,jenkins 啟動會默認以 1000 的用戶 jenkins 啟動,這樣會導致某些文件夾的讀寫權(quán)限不足問題,因此建議加上 -u 0 命令啟動容器)
  • p:指定映射的IP和端口,前者為本地系統(tǒng)的端口號,后者為容器內(nèi)部的端口號。以 -p 9999:8888 舉例,8888為容器內(nèi)的端口號,而9999為容器內(nèi)端口號映射到本地系統(tǒng)(容器外部)的端口,即我們訪問本地系統(tǒng)的9999端口,實際會映射到容器內(nèi)部的8888端口上。此處開放8888端口是因為后面構(gòu)建項目時,項目的端口也為8888,避免重新給容器開放端口映射。
  • -v:綁定數(shù)據(jù)卷,拿 -v /usr/local/java/jdk-11.0.18:/usr/local/java/jdk-11.0.18 舉例:表示將本地系統(tǒng)的 /usr/local/java/jdk-11.0.18 映射到 容器內(nèi)部的 /usr/local/java/jdk-11.0.18。

最后的 jenkins/jenkins:2.344 表示當前啟動的容器是基于哪個鏡像的,語法 Repository:Tag,如果當前的鏡像是唯一的,也可以不用加Tag。

此處我將本地系統(tǒng)的 jdk11 和 maven 都映射到了 當前啟動的容器中,而路徑我為了便于統(tǒng)一(容器內(nèi)的路徑可以隨便自定義),容器內(nèi)的路徑設(shè)置為和容器外一樣的路徑。

/usr/local/java/jdk-11.0.18 路徑為本地系統(tǒng)JAVA_HOME 配置的路徑,如果忘記了配置的路徑,可以通過如下命令查看:

which java

我們復(fù)制路徑到bin目錄的上一級即可,如此處為:/usr/local/java/jdk-11.0.18

/usr/local/maven/apache-maven-3.6.1 路徑為本地系統(tǒng)JAVA_HOME 配置的路徑,如果忘記了配置的路徑,可以通過如下命令查看:

which mvn

同理,復(fù)制到 bin 目錄的上一層即可,此處為:/usr/local/maven/apache-maven-3.6.1

四、訪問Jenkins

當我們輸入上述的 docker run 命令后,會生成一個容器,我們可以通過命令查看當前啟動的容器:

docker ps

如果某些同學輸入命令后,沒有看到該信息,那說明我們的容器運行失敗了,可以通過如下命令查看所有容器的狀態(tài):

docker ps -a

這里的 STATUS 大概率會顯示 Exit… 表明你的容器啟動失敗。我們可以查看具體原因。

解鎖Jenkins

如果我們的容器啟動成功,那么我們直接訪問 本地的ip:9999 即可查看到當前頁面。

此時我們?nèi)绻苯釉诒镜剌斎朊?cat /var/jenkins_home/secrets/initialAdminPassword 是查看不到的,因為該路徑是容器內(nèi)部的路徑,我們需要先進入容器內(nèi)部,再輸入該命令,才能夠成功看到密碼。

進入容器命令:

docker exec -it 容器id/容器名稱 bash

你可以輸入的容器id或者容器名稱,我一般習慣輸入容器名稱,如果你的 docker run 命令和我一樣,那么可以直接復(fù)制如下命令進入容器內(nèi)部:

docker exec -it jenkins bash

成功進入容器后,我們在輸入如下命令查看初始密碼:

cat /var/jenkins_home/secrets/initialAdminPassword

我們復(fù)制打印出來的密碼,粘貼到網(wǎng)頁,點擊“繼續(xù)”,進行下一步操作。

自定義Jenkins

此處我建議點擊“安裝推薦的插件”的選項。然后耐心等待,有可能部分插件會安裝失敗,因為此處的下載源在國外。部分插件安裝失敗,我們可以點擊重試,如果多次重試仍然失?。ň褪俏冶救耍覀冎苯狱c擊下一步。

創(chuàng)建第一個管理員用戶

這里可以輸入你想創(chuàng)建的賬號,輸入完畢后,點擊保存并完成。

配置實例

這里默認即可,點擊保存并完成。

Jenkins 已就緒

點擊 “開始使用Jenkins”,就可以進入到 Jenkins 的頁面了。

五、Jenkins 配置

安裝Maven插件

Maven插件默認是不會給我們安裝的,因此我們需要自己安裝。

首先點擊左側(cè) “Manage Jenkins”,然后找到 “Manage Plugins”并點擊,

然后點擊“可選插件”并輸入 maven,找到如下插件 Maven Integration plugin,點擊下面的 Install without restart。

全局配置

首先點擊左側(cè) “Manage Jenkins”,然后找到 “Global Tool Configuration”并點擊,

在這里我們需要配置JDK、Git、Maven。

JDK

點擊 “JDK安裝”

輸入別名及JAVA_HOME,這里的JAVA_HOME對應(yīng)的是我們docker容器內(nèi)部的JAVA_HOME,而我們在第三步將運行容器,將 java 映射的地址為 /usr/local/java/jdk-11.0.18(根據(jù)你 docker run 時的配置填寫),因此這里直接上即可,如圖:

/usr/local/java/jdk-11.0.18

GIT

Git會在我們自定義Jenkins時安裝插件的時候,自動幫我們安裝,此處我們無需填寫,默認即可。

Maven

同理,此處需要填寫maven的別名和MAVEN_HOME.

MAVEN_HOME在我們運行容器映射的地址為:

/usr/local/maven/apache-maven-3.6.1

我們填上即可。

最后我們點擊應(yīng)用,然后點擊保存即可。

六、部署Maven項目

首先,回到Jenkins首頁,點擊“+新建任務(wù)”,如圖:

新建Maven項目

輸入我們項目的名稱,點擊構(gòu)建一個Maven項目,然后點擊確定,如圖:

配置Git倉庫

首先配置我們的Git倉庫地址,此處我用的是自己開源的項目,所以無需填寫憑證,如果大家的項目需要憑證,可以自行添加:

添加憑證非常簡單,我相信都會,填好需要的賬號密碼點擊保存即可。

當我們添加完后,URL下方?jīng)]有出現(xiàn)紅色的錯誤提示表示能夠正常連接到該倉庫了,可以繼續(xù)配置倉庫分支,這里我選用的是一個 helloworld 的分支,大家根據(jù)實際情況自行填寫:

配置Maven構(gòu)建參數(shù)

接下來就是配置Maven,對項目進行打包,Root POM 不用修改,就用 pom.xml,而 Goals and options 我們填寫:

clean install -Dmaven.test.skip=true

這時候Maven的最基本配置就完成了。大家可以點擊應(yīng)用,并保存,開始構(gòu)建項目,看看能不能打包成功。

查看控制臺輸出:

啟動項目

這樣就代表成功了,接下來就開始啟動項目了,點擊項目,打開左側(cè)的配置,依次選擇 Post Steps -> Add post build steps -> 執(zhí)行shell

填上我們的啟動腳本,這里只是最簡單的腳本,大家可以根據(jù)實際情況填寫:

cd /var/jenkins_home/workspace/flowable_study/target
nohup java -jar flowable_study-1.0-SNAPSHOT.jar >flowable_study.log &2>1 &

注意:我這里是在docker容器內(nèi)部運行的java項目,大部分實際情況是需要通過jenkins連接到其他服務(wù)器去部署項目。大致的流程為:

  • 將容器內(nèi)的jar包拷貝到目標服務(wù)器
  • 切換目錄,殺掉當前正在運行的項目
  • 啟動項目

我這里只做最基本的部署演示,因此就不弄那么麻煩。同時我這里項目的端口號為8888,我在創(chuàng)建容器,使用 docker run 時,已經(jīng)將容器內(nèi)的8888端口映射到宿主機的8888端口了。

寫好之后直接應(yīng)用、保存。然后重新構(gòu)建項目,這里就能夠直接訪問8888端口了。

由此,整個Maven項目構(gòu)建完成。

總結(jié)

到此這篇關(guān)于Docker安裝Jenkins并部署Maven項目詳細教程的文章就介紹到這了,更多相關(guān)Docker安裝Jenkins部署Maven內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章看懂docker?run的使用方法

    一篇文章看懂docker?run的使用方法

    在Docker中,run應(yīng)該是用戶使用最多的命令了,很多人不是很明白run命令的用法,這篇文章主要介紹了關(guān)于docker?run的使用方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • Docker容器啟動時初始化Mysql數(shù)據(jù)庫的方法

    Docker容器啟動時初始化Mysql數(shù)據(jù)庫的方法

    這篇文章給大家介紹Docker容器啟動時初始化Mysql數(shù)據(jù)庫的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2013-11-11
  • docker安裝rocketMQ和安裝過程中出現(xiàn)問題的解決

    docker安裝rocketMQ和安裝過程中出現(xiàn)問題的解決

    本文主要介紹了docker安裝rocketMQ和安裝過程中出現(xiàn)問題的解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • docker服務(wù)監(jiān)控中的cAdvisor詳解

    docker服務(wù)監(jiān)控中的cAdvisor詳解

    cAdvisor(Container Advisor)是谷歌開源的一款容器資源監(jiān)控工具,它可以收集容器的 CPU、內(nèi)存、磁盤 I/O、網(wǎng)絡(luò)等資源使用情況的信息,本文給大家介紹docker服務(wù)監(jiān)控中的cAdvisor,感興趣的朋友一起看看吧
    2025-05-05
  • docker搭建rabbitmq集群環(huán)境的方法

    docker搭建rabbitmq集群環(huán)境的方法

    本篇文章主要介紹了docker搭建rabbitmq集群環(huán)境的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-07-07
  • Docker 中卷、容器、鏡像的區(qū)別解析

    Docker 中卷、容器、鏡像的區(qū)別解析

    本文將Docker的鏡像、容器和卷分別類比為面向?qū)ο缶幊讨械念?、對象和外部存?詳細分析了三者的特性、生命周期和作用,強調(diào)鏡像只讀、容器可寫且臨時、卷用于數(shù)據(jù)持久化,理解三者關(guān)系是Docker學習的關(guān)鍵,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • docker中CMD和ENTRYPOINT區(qū)別

    docker中CMD和ENTRYPOINT區(qū)別

    本文主要介紹了docker中CMD和ENTRYPOINT區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Docker進階之快速擴容的方法

    Docker進階之快速擴容的方法

    這篇文章主要介紹了Docker進階之快速擴容的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Docker集成CI/CD的項目實踐

    Docker集成CI/CD的項目實踐

    本文主要介紹了Docker集成CI/CD的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • Docker容器操作和大量實用案例(含詳細圖文)

    Docker容器操作和大量實用案例(含詳細圖文)

    Docker作為一種開源的容器化平臺,能夠簡化應(yīng)用程序的打包、分發(fā)和運行過程,這篇文章主要介紹了Docker容器操作和大量實用案例的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2026-04-04

最新評論

和平县| 贺州市| 汉源县| 杂多县| 东阿县| 陈巴尔虎旗| 喀什市| 宣威市| 长阳| 通江县| 托克托县| 黔东| 博罗县| 大同县| 十堰市| 柘城县| 湘潭市| 安西县| 长治县| 林周县| 柘城县| 唐海县| 庆城县| 丽江市| 南康市| 内黄县| 历史| 武邑县| 龙州县| 抚松县| 岳池县| 广州市| 寿阳县| 峨山| 常熟市| 宝鸡市| 长沙市| 乌兰察布市| 伊川县| 周至县| 洛扎县|