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

Docker安裝Jenkins并部署Maven項(xiàng)目詳細(xì)教程

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

一、前言

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

二、Docker 拉取鏡像

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

docker pull jenkins/jenkins:2.344

需要稍微等一會(huì),等待拉取完成。

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

docker images

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

三、運(yùn)行容器

下載鏡像成功后,我們需要用此鏡像運(yùn)行一個(gè)容器,命令如下:

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:在后臺(tái)運(yùn)行
  • --name:為我們當(dāng)前運(yùn)行的容器取一個(gè)名稱
  • -u:以某個(gè)用戶的身份啟動(dòng)(此處的 0 代表是 root 用戶,而如果不加該命令,jenkins 啟動(dòng)會(huì)默認(rèn)以 1000 的用戶 jenkins 啟動(dòng),這樣會(huì)導(dǎo)致某些文件夾的讀寫權(quán)限不足問(wèn)題,因此建議加上 -u 0 命令啟動(dòng)容器)
  • p:指定映射的IP和端口,前者為本地系統(tǒng)的端口號(hào),后者為容器內(nèi)部的端口號(hào)。以 -p 9999:8888 舉例,8888為容器內(nèi)的端口號(hào),而9999為容器內(nèi)端口號(hào)映射到本地系統(tǒng)(容器外部)的端口,即我們?cè)L問(wèn)本地系統(tǒng)的9999端口,實(shí)際會(huì)映射到容器內(nèi)部的8888端口上。此處開(kāi)放8888端口是因?yàn)楹竺鏄?gòu)建項(xiàng)目時(shí),項(xiàng)目的端口也為8888,避免重新給容器開(kāi)放端口映射。
  • -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 表示當(dāng)前啟動(dòng)的容器是基于哪個(gè)鏡像的,語(yǔ)法 Repository:Tag,如果當(dāng)前的鏡像是唯一的,也可以不用加Tag。

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

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

which java

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

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

which mvn

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

四、訪問(wèn)Jenkins

當(dāng)我們輸入上述的 docker run 命令后,會(huì)生成一個(gè)容器,我們可以通過(guò)命令查看當(dāng)前啟動(dòng)的容器:

docker ps

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

docker ps -a

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

解鎖Jenkins

如果我們的容器啟動(dòng)成功,那么我們直接訪問(wèn) 本地的ip:9999 即可查看到當(dāng)前頁(yè)面。

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

進(jìn)入容器命令:

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

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

docker exec -it jenkins bash

成功進(jìn)入容器后,我們?cè)谳斎肴缦旅畈榭闯跏济艽a:

cat /var/jenkins_home/secrets/initialAdminPassword

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

自定義Jenkins

此處我建議點(diǎn)擊“安裝推薦的插件”的選項(xiàng)。然后耐心等待,有可能部分插件會(huì)安裝失敗,因?yàn)榇颂幍南螺d源在國(guó)外。部分插件安裝失敗,我們可以點(diǎn)擊重試,如果多次重試仍然失?。ň褪俏冶救耍?,我們直接點(diǎn)擊下一步。

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

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

配置實(shí)例

這里默認(rèn)即可,點(diǎn)擊保存并完成。

Jenkins 已就緒

點(diǎn)擊 “開(kāi)始使用Jenkins”,就可以進(jìn)入到 Jenkins 的頁(yè)面了。

五、Jenkins 配置

安裝Maven插件

Maven插件默認(rèn)是不會(huì)給我們安裝的,因此我們需要自己安裝。

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

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

全局配置

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

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

JDK

點(diǎn)擊 “JDK安裝”

輸入別名及JAVA_HOME,這里的JAVA_HOME對(duì)應(yīng)的是我們docker容器內(nèi)部的JAVA_HOME,而我們?cè)诘谌綄⑦\(yùn)行容器,將 java 映射的地址為 /usr/local/java/jdk-11.0.18(根據(jù)你 docker run 時(shí)的配置填寫),因此這里直接上即可,如圖:

/usr/local/java/jdk-11.0.18

GIT

Git會(huì)在我們自定義Jenkins時(shí)安裝插件的時(shí)候,自動(dòng)幫我們安裝,此處我們無(wú)需填寫,默認(rèn)即可。

Maven

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

MAVEN_HOME在我們運(yùn)行容器映射的地址為:

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

我們填上即可。

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

六、部署Maven項(xiàng)目

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

新建Maven項(xiàng)目

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

配置Git倉(cāng)庫(kù)

首先配置我們的Git倉(cāng)庫(kù)地址,此處我用的是自己開(kāi)源的項(xiàng)目,所以無(wú)需填寫憑證,如果大家的項(xiàng)目需要憑證,可以自行添加:

添加憑證非常簡(jiǎn)單,我相信都會(huì),填好需要的賬號(hào)密碼點(diǎn)擊保存即可。

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

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

接下來(lái)就是配置Maven,對(duì)項(xiàng)目進(jìn)行打包,Root POM 不用修改,就用 pom.xml,而 Goals and options 我們填寫:

clean install -Dmaven.test.skip=true

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

查看控制臺(tái)輸出:

啟動(dòng)項(xiàng)目

這樣就代表成功了,接下來(lái)就開(kāi)始啟動(dòng)項(xiàng)目了,點(diǎn)擊項(xiàng)目,打開(kāi)左側(cè)的配置,依次選擇 Post Steps -> Add post build steps -> 執(zhí)行shell

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

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)部運(yùn)行的java項(xiàng)目,大部分實(shí)際情況是需要通過(guò)jenkins連接到其他服務(wù)器去部署項(xiàng)目。大致的流程為:

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

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

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

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

    cAdvisor(Container Advisor)是谷歌開(kāi)源的一款容器資源監(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)境的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-07-07
  • Docker 中卷、容器、鏡像的區(qū)別解析

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

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

    docker中CMD和ENTRYPOINT區(qū)別

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

    Docker進(jìn)階之快速擴(kuò)容的方法

    這篇文章主要介紹了Docker進(jìn)階之快速擴(kuò)容的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Docker集成CI/CD的項(xiàng)目實(shí)踐

    Docker集成CI/CD的項(xiàng)目實(shí)踐

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

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

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

最新評(píng)論

宿松县| 来凤县| 宜君县| 聊城市| 石阡县| 南和县| 萝北县| 启东市| 霍州市| 深泽县| 石柱| 金塔县| 博乐市| 都匀市| 大荔县| 工布江达县| 马公市| 静宁县| 南川市| 新宁县| 修水县| 本溪| 通山县| 新昌县| 宁强县| 广汉市| 深州市| 三台县| 西藏| 成都市| 大厂| 章丘市| 阿瓦提县| 新和县| 宿州市| 全州县| 中西区| 宜黄县| 马龙县| 饶河县| 涡阳县|