欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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ù)交付不僅可以提示開發(fā)效率,還可以節(jié)省很多測(cè)試和運(yùn)維的成本,需要的朋友可以參考下

一、前言

在開始之前,我們需要保證系統(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端口上。此處開放8888端口是因?yàn)楹竺鏄?gòu)建項(xiàng)目時(shí),項(xiàng)目的端口也為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 表示當(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)擊 “開始使用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ù)地址,此處我用的是自己開源的項(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)用,并保存,開始構(gòu)建項(xiàng)目,看看能不能打包成功。

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

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

這樣就代表成功了,接下來(lái)就開始啟動(dòng)項(xiàng)目了,點(diǎn)擊項(xiàng)目,打開左側(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獲取Let''s Encrypt永久免費(fèi)SSL證書的方法

    docker獲取Let''s Encrypt永久免費(fèi)SSL證書的方法

    在本篇文章里小編給大家分享了一篇關(guān)于docker獲取Let's Encrypt永久免費(fèi)SSL證書的方法,以后需要的朋友們可以參考下。
    2021-01-01
  • 深入了解docker(docker鏡像、容器、倉(cāng)庫(kù)的基本概念)

    深入了解docker(docker鏡像、容器、倉(cāng)庫(kù)的基本概念)

    本文重點(diǎn)給大家介紹docker鏡像、容器、倉(cāng)庫(kù)的基本概念,感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2016-10-10
  • Docker如何使用Dockerfile構(gòu)建鏡像

    Docker如何使用Dockerfile構(gòu)建鏡像

    本篇文章主要介紹了Docker如何使用Dockerfile構(gòu)建鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Docker?進(jìn)階之鏡像分層方案詳解

    Docker?進(jìn)階之鏡像分層方案詳解

    這篇文章主要介紹了Docker?進(jìn)階之鏡像分層詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Docker容器導(dǎo)致磁盤空間不足無(wú)法訪問(wèn)的解決方法

    Docker容器導(dǎo)致磁盤空間不足無(wú)法訪問(wèn)的解決方法

    本文主要介紹了Docker容器導(dǎo)致磁盤空間不足無(wú)法訪問(wèn)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • docker部署firefox瀏覽器實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)

    docker部署firefox瀏覽器實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)

    在使用docker時(shí),默認(rèn)情況下只能在本地進(jìn)行訪問(wèn),本文就來(lái)介紹一下docker部署firefox瀏覽器實(shí)現(xiàn)遠(yuǎn)程訪問(wèn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 云原生使用Docker部署Firefox瀏覽器詳細(xì)圖文教程

    云原生使用Docker部署Firefox瀏覽器詳細(xì)圖文教程

    下面這篇文章主要給大家介紹了關(guān)于云原生使用Docker部署Firefox瀏覽器的相關(guān)資料,這對(duì)于一些特殊的測(cè)試場(chǎng)景非常有用,例如需要在不同版本的瀏覽器中進(jìn)行測(cè)試,需要的朋友可以參考下
    2024-04-04
  • 使用docker-compose,如何調(diào)整JVM參數(shù)

    使用docker-compose,如何調(diào)整JVM參數(shù)

    這篇文章主要介紹了使用docker-compose,如何調(diào)整JVM參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • CentOS7上安裝Docker的詳細(xì)步驟

    CentOS7上安裝Docker的詳細(xì)步驟

    Docker?是一個(gè)開源工具,它可以讓創(chuàng)建和管理?Linux?容器變得簡(jiǎn)單,容器就像是輕量級(jí)的虛擬機(jī),并且可以以毫秒級(jí)的速度來(lái)啟動(dòng)或停止,下面這篇文章主要給大家介紹了關(guān)于CentOS7上安裝Docker的詳細(xì)步驟,需要的朋友可以參考下
    2022-01-01
  • Docker 打包 K8s鏡像的應(yīng)用實(shí)例

    Docker 打包 K8s鏡像的應(yīng)用實(shí)例

    文章介紹了如何使用Docker打包和部署Kubernetes鏡像,包括準(zhǔn)備工作、創(chuàng)建Dockerfile、構(gòu)建鏡像、測(cè)試運(yùn)行、推送鏡像、Kubernetes部署文件示例、部署到Kubernetes等步驟,并提供了注意事項(xiàng)和最佳實(shí)踐,感興趣的朋友一起看看吧
    2025-03-03

最新評(píng)論