国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

最簡單配置jenkins容器使用宿主機(jī)的docker方法

這篇具有很好參考價(jià)值的文章主要介紹了最簡單配置jenkins容器使用宿主機(jī)的docker方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

構(gòu)建鏡像和發(fā)布鏡像到harbor都需要使用到docker命令。而在Jenkins容器內(nèi)部安裝Docker官方推薦直接采用宿主機(jī)帶的Docker即可

設(shè)置Jenkins容器使用宿主機(jī)Docker

  • 設(shè)置宿主機(jī)docker.sock權(quán)限

chown root:root /var/run/docker.sock

chmod o+rw /var/run/docker.sock

  • 添加數(shù)據(jù)卷

version: "3.1"
services:
? jenkins:
? ? image: jenkins/jenkins
? ? container_name: jenkins
? ? ports:
? ? ? - 8080:8080
? ? ? - 50000:50000
? ? volumes:
? ? ? - ./data/:/var/jenkins_home/
? ? ? - /var/run/docker.sock:/var/run/docker.sock
? ? ? - /usr/bin/docker:/usr/bin/docker
? ? ? - /etc/docker/daemon.json:/etc/docker/daemon.json
? ? restart: always

添加構(gòu)建操作

添加參數(shù)化部署,這里添加一個(gè)參數(shù)projectVersion,用來給鏡像指定具體的版本

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

?將原來使用over ssh推送jar及dockerFile文件的構(gòu)建后操作步驟刪除

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

在代碼質(zhì)量檢測(cè)完成后執(zhí)行鏡像打包操作,并把鏡像推送到目標(biāo)服務(wù)器上

mv target/*.jar docker/
docker build -t mytest:${projectVersion} docker/
docker login -u admin -p Harbor12345 192.168.19.7:80
docker tag mytest:${projectVersion} 192.168.19.7:80/repo/mytest:${projectVersion}
docker push 192.168.19.7:80/repo/mytest:${projectVersion}

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

編寫部署腳本

在代碼部署的服務(wù)器上編寫如下腳本deploy,并且將腳本移動(dòng)環(huán)境變量中:

[root@localhost bin]# ls /usr/bin/ | grep deploy.sh
deploy.sh
?

[root@localhost bin]# cat /usr/bin/deploy.sh?
harbor_url=$1
harbor_project_name=$2
project_name=$3
tag=$4
port=$5

imageName=$harbor_url/$harbor_project_name/$project_name:$tag

containerId=`docker ps -a | grep ${project_name} | awk '{print $1}'`
if [ "$containerId" != "" ] ; then
? ? docker stop $containerId
? ? docker rm $containerId
? ? echo "Delete Container Success"
fi

imageId=`docker images | grep ${project_name} | awk '{print $3}'`

if [ "$imageId" != "" ] ; then
? ? docker rmi -f $imageId
? ? echo "Delete Image Success"
fi

docker login -u admin -p Harbor12345 $harbor_url

docker pull $imageName

docker run -d -p $port:8080 --name $project_name $imageName

echo "Start Container Success"
echo $project_name
?

配置構(gòu)建后操作

在項(xiàng)目的參數(shù)中添加如下host_port參數(shù):

在excu command中配置如下命名:

deploy.sh 192.168.19.7:80 ?repo mytest ?${projectVersion} ${host_port}

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

測(cè)試執(zhí)行構(gòu)建:

在源碼中修改hello 接口為:

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

?把代碼推送到倉庫,然后執(zhí)行構(gòu)建

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

?在瀏覽器上輸入:192.168.19.7:8081/hello,查看輸出,觀看響應(yīng)是否已經(jīng)更改。

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

看到確實(shí)已經(jīng)修改

至此,我們已經(jīng)完成了一個(gè)基本的CI/CD的流水線。

實(shí)現(xiàn)的功能有:

1、開發(fā)者編完代碼后,將代碼推送到gitlab倉庫中。

2、jenkins將拉取代碼,然后通過maven打包

3、打包完成后,通過sonarQube進(jìn)行代碼質(zhì)量檢測(cè)

4、質(zhì)量檢測(cè)完成后,將代碼打包成鏡像

5、將生成的鏡像文件推送到Harbor服務(wù)器上

6、jenkins服務(wù)器通知部署服務(wù)器做發(fā)布操作

? ? ? ? ? 6.1? 如果項(xiàng)目有正在運(yùn)行的容器,需要停止

? ? ? ? ? 6.2 如果有原來項(xiàng)目的鏡像需要把鏡像進(jìn)行刪除

? ? ? ? ? 6.3 從Harbor服務(wù)器上拉取鏡像到部署服務(wù)器上

? ? ? ? ?6.4? 根據(jù)拉取到的最小鏡像來運(yùn)行一個(gè)新的容器

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器

最簡單配置jenkins容器使用宿主機(jī)的docker方法,devOps,docker,jenkins,容器文章來源地址http://www.zghlxwxcb.cn/news/detail-673207.html

到了這里,關(guān)于最簡單配置jenkins容器使用宿主機(jī)的docker方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Docker】docker容器內(nèi)獲取宿主機(jī)的信息和執(zhí)行宿主機(jī)的腳本

    【Docker】docker容器內(nèi)獲取宿主機(jī)的信息和執(zhí)行宿主機(jī)的腳本

    我們可以通過在容器內(nèi)遠(yuǎn)程連接宿主機(jī),然后對(duì)宿主機(jī)進(jìn)行操作。 注意: 要先安裝 sshpass命令才行。 Dockerfile文件可以在你部署容器的時(shí)候自動(dòng)安裝。 docker部署springboot項(xiàng)目

    2024年02月11日
    瀏覽(27)
  • shell腳本使用(宿主機(jī)windows-服務(wù)器-centos)--用于使用shell腳本方式控制docker容器

    shell腳本使用(宿主機(jī)windows-服務(wù)器-centos)--用于使用shell腳本方式控制docker容器

    需求: 我想要使得windows上編寫shell腳本,并且在這個(gè)shell腳本在linux中也可用 shell腳本在windows上無法直接運(yùn)行,但是有WSL這個(gè)linux子系統(tǒng)的工具 可以使得shell腳本在主機(jī)上執(zhí)行 視頻講解連接 方式1 方式2

    2024年02月07日
    瀏覽(61)
  • docker 容器與宿主機(jī)時(shí)間同步

    1.docker run 2.Docker file 3.docker-compose 4.宿主機(jī)直接執(zhí)行命令給某個(gè)容器同步時(shí)間 注意:這種方式需要重啟容器 docker exec -it 70ec41893d66 /bin/bash 回車后輸入date驗(yàn)證即可

    2024年02月08日
    瀏覽(26)
  • Docker容器內(nèi)執(zhí)行宿主機(jī)指令

    Docker容器內(nèi)執(zhí)行宿主機(jī)指令

    ????????最近項(xiàng)目有個(gè)需求,需要程序配置服務(wù)器IP并且可以重啟服務(wù)器。如果程序直接部署在服務(wù)器,相信大家都會(huì)操作。但是程序是用docker運(yùn)行的,在docker中執(zhí)行指令就很麻煩了。這時(shí)候需要添加容器一些特殊的權(quán)限和執(zhí)行一些特殊的命令就可以執(zhí)行宿主機(jī)上面的指令

    2024年02月09日
    瀏覽(23)
  • docker容器共享宿主機(jī)環(huán)境(目錄掛載)

    一、背景介紹 如果開發(fā)的服務(wù)均需要將打成docker鏡像,可是隨著服務(wù)越來越多,鏡像也越來越多。每次制作鏡像的時(shí)候都需要將依賴打進(jìn)容器,這樣一個(gè)jre的環(huán)境就是100多M。有一天突發(fā)奇想,容器能不能共用宿主機(jī)的環(huán)境?這樣每次打鏡像時(shí)體積就會(huì)少不少。 二、測(cè)試 我們

    2024年02月09日
    瀏覽(26)
  • 同一臺(tái)宿主機(jī)不同的docker-compose下的容器互相通信;查看docker的network使用情況

    我的 docker 版本: 24.0.2 docker-compose 版本: 1.29.2 linux 是 ubuntu 20.04 在使用 docker 部署環(huán)境的時(shí)候大多用 docker-compose 來編排,參數(shù)的配置會(huì)清晰一點(diǎn)。 通常一個(gè)容器一個(gè) docker-compose.yml 文件。 這就使得不同 docker-compose 下的容器不能自動(dòng)的互相通信。 那么順著這個(gè)思路往下想,

    2024年02月08日
    瀏覽(20)
  • 虛擬機(jī)安裝 Ubuntu桌面版,宿主機(jī)無法訪問虛擬機(jī) & ufw 防火墻簡單使用

    本次安裝使用的 ubuntu-22.04.2-desktop-amd64 ,網(wǎng)絡(luò)連接使用的是橋接,查看ubuntu的ip是正常的,與宿主機(jī)在同一個(gè)網(wǎng)段且防火墻已關(guān)閉。 能ping通但是無法連接。 最后發(fā)現(xiàn)ubuntu內(nèi)沒有ssh服務(wù) 安裝ssh服務(wù) ufw防火墻 放行ssh服務(wù) 成功連接 ufw 常用命令 查看ufw防火墻 狀態(tài) 啟用防火墻 放

    2024年02月13日
    瀏覽(32)
  • docker 容器無法通過 IP 訪問宿主機(jī)

    一次部署項(xiàng)目過程中,將Java項(xiàng)目與中間件服務(wù)部署在同一遠(yuǎn)程機(jī)器上,出現(xiàn)連接不上中間件服務(wù)的問題,而項(xiàng)目在本地運(yùn)行時(shí)是可以連接的,沒有問題。 這是因?yàn)轫?xiàng)目與服務(wù)都是通過docker容器運(yùn)行的,而docker 容器無法通過 IP 訪問宿主機(jī)(貌似高版本解決了這個(gè)問題),所以

    2024年02月09日
    瀏覽(27)
  • 【docker知識(shí)】從容器中如何訪問到宿主機(jī)

    【docker知識(shí)】從容器中如何訪問到宿主機(jī)

    ????????使用 Docker 能實(shí)現(xiàn)服務(wù)的容器化,并使用容器間網(wǎng)絡(luò)在它們之間進(jìn)行通信。有時(shí)您可能需要一個(gè)容器來與宿主機(jī)上非容器化的服務(wù)通信。以下是如何從 Docker 容器中訪問本地主機(jī)或 127.0.0.1的具體方法。 ????????適用于 Windows 和 Mac 的 Docker Desktop 18.03+ 支持 host.

    2024年02月02日
    瀏覽(26)
  • docker run --privileged參數(shù)(容器權(quán)限全開,不利于宿主機(jī)安全,宿主機(jī)容易重啟)(與/usr/sbin/init共用)

    我在搞docker自動(dòng)部署的時(shí)候,加了個(gè) --privileged 參數(shù),結(jié)果容器一創(chuàng)建,宿主機(jī)就重啟了 參考網(wǎng)友們對(duì)–privileged參數(shù)的理解: --privileged ,權(quán)限全開,不利于宿主機(jī)安全 參考文章:docker容器權(quán)限設(shè)置–cap-add | --cap-drop | privileged 1.對(duì)外開放無認(rèn)證的Docker API是非常危險(xiǎn)的行為,

    2024年02月11日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包