中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

警惕成人網(wǎng)站免費看手機引流推廣接單

警惕成人網(wǎng)站免費看手機,引流推廣接單,朝陽市做網(wǎng)站,網(wǎng)站開發(fā)工作安排目錄 11、自由風(fēng)格的CI操作(最終)Jenkins容器化實現(xiàn)方案修改 docker.sock 權(quán)限修改 Jenkins 啟動命令后重啟 Jenkins構(gòu)建鏡像推送到Harbor修改 daemon.json 文件Jenkins 刪除構(gòu)建后操作Jenkins 添加 shell 命令重新構(gòu)建 Jenkins通知目標(biāo)服務(wù)器拉取鏡像目…

目錄

  • 11、自由風(fēng)格的CI操作(最終)
    • Jenkins容器化實現(xiàn)方案
      • 修改 docker.sock 權(quán)限
      • 修改 Jenkins 啟動命令后重啟
    • Jenkins構(gòu)建鏡像推送到Harbor
      • 修改 daemon.json 文件
      • Jenkins 刪除構(gòu)建后操作
      • Jenkins 添加 shell 命令
      • 重新構(gòu)建
    • Jenkins通知目標(biāo)服務(wù)器拉取鏡像
      • 目標(biāo)服務(wù)器修改 daemon.json 文件
      • 定義腳本文件
      • Jenkins 添加端口號參數(shù)
      • Jenkins 添加構(gòu)建后操作
      • 重新構(gòu)建工程

11、自由風(fēng)格的CI操作(最終)

????????前面的架構(gòu)存在的問題是,若有多個目標(biāo)服務(wù)器都需要使用該鏡像,那么每個目標(biāo)服務(wù) 器都需要在本地構(gòu)建鏡像,形成系統(tǒng)資源浪費。若能夠在 Jenkins 中將鏡像構(gòu)建好并推送到 Harbor 鏡像中心,那么無論有多少目標(biāo)服務(wù)器需要該鏡像,都只需要從 Harbor 拉取即可

Jenkins容器化實現(xiàn)方案

????????如果想在Jenkins中構(gòu)建鏡像,則需要Jenkins中有Docker引擎,指的是Jenkins容器內(nèi)有Docker,因為我們的Jenkins是用docker起的,可以在Jennkins內(nèi)再安裝docker,但這種方式不太方便,不好維護,可以使用與宿主機共享Docker引擎。

修改 docker.sock 權(quán)限

????????/var/run/docker.sock 文件是 docker clientdocker daemon 在本地進行通信的 socket 文件。默認的組為 docker,且 other 用戶不具有讀寫權(quán)限,這樣 Jenkins 是無法來操作該文 件的。

在這里插入圖片描述

將其組調(diào)整為 root,且為其分配讀寫權(quán)限

在這里插入圖片描述

修改 Jenkins 啟動命令后重啟

首先強制刪除正在運行的 Jenkins 容器。

[root@jenkins run]# docker rm -f jenkins
jenkins

????????然后在 Jenkins 啟動命令中新增/var/run/docker.sock,docker 命令文件/usr/bin/docker, 及/etc/docker/daemon.json 文件為數(shù)據(jù)卷。
重啟 Jenkins 容器。

[root@jenkins run]# docker run --name jenkins \
> --restart always \
> -p 8080:8080 \
> -p 50000:50000 \
> -v /var/jenkins_home:/var/jenkins_home \
> -v /var/run/docker.sock:/var/run/docker.sock \ 
> -v /usr/bin/docker:/usr/bin/docker \
> -v /etc/docker/daemon.json:/etc/docker/daemon.json \ # 實現(xiàn)推送harbor時使用的http信任,而不是https
> -d jenkins/jenkins:lts

進入Jenkins容器查看是否可以使用docker了。

在這里插入圖片描述

Jenkins構(gòu)建鏡像推送到Harbor

????????先把idea的compose.yml文件刪除,push到gitlab,因為我們使用jenkins幫忙構(gòu)建鏡像然后推送到Harbor,不需要到目標(biāo)服務(wù)器進行本地制作鏡像并啟動容器。(操作沒截圖,自己記得刪除)

修改 daemon.json 文件

????????Jenkins 是 Harbor 的客戶端,需要修改/etc/docker/daemon.json 文件。修改后重啟 Docker。

[root@jenkins ~]# vim /etc/docker/daemon.json
[root@jenkins ~]# cat /etc/docker/daemon.json 
{"insecure-registries": ["192.168.40.138:8888" # harbor服務(wù)器所在的IP和端口]
}

重啟

[root@jenkins my_hellojenkins]# service docker restart

Jenkins 刪除構(gòu)建后操作

????????原來的 Jenkins 中配置的“構(gòu)建后操作”完成的是將代碼推送到目標(biāo)服務(wù)器后,讓目標(biāo)服務(wù)器通過 docker compose 完成鏡像的構(gòu)建與啟動。但現(xiàn)在不需要了,因為鏡像構(gòu)建任務(wù)要由 Jenkins 自己完成了。在 Jenkins 當(dāng)前任務(wù)下的“配置”中刪除。

在這里插入圖片描述

Jenkins 添加 shell 命令

????????在 sonarqube 對代碼質(zhì)量檢測完畢后,再添加一個“構(gòu)建步驟”。這個構(gòu)建步驟通過 shell 命令方式完成。

在這里插入圖片描述

在這里插入圖片描述

mv target/*.jar docker/
cd docker
docker build -t hellojenkins .
docker login -u admin -p Harbor12345 192.168.40.138:8888
docker tag hellojenkins 192.168.40.138:8888/jks/hellojenkins
docker image prune -f
docker push 192.168.40.138:8888/jks/hellojenkins

重新構(gòu)建

????????Jenkins 中在返回的任務(wù)首頁中,再次執(zhí)行立即構(gòu)建。構(gòu)建成功后,在 Jenkins 主機中可以查看到構(gòu)建好的鏡像與重新tag 過的鏡像。

在這里插入圖片描述

在 harbor 的倉庫中也可以看到推送來的鏡像。
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

Jenkins通知目標(biāo)服務(wù)器拉取鏡像

目標(biāo)服務(wù)器修改 daemon.json 文件

????????目標(biāo)服務(wù)器是 Harbor 的客戶端,需要修改/etc/docker/daemon.json 文件。修改后重啟 Docker。

在這里插入圖片描述

定義腳本文件

????????在目標(biāo)服務(wù)器 PATH 路徑下的任意目錄中定義一個腳本文件 deploy.sh。例如,定義在/usr/local/bin目錄下。然后再為其賦予可執(zhí)行權(quán)限。這樣該 deploy.sh命令就可以在任意目錄下運行了。

文件內(nèi)容如下

#!/bin/bash
#harbor的IP地址和端口
harbor_addr_port=$1
#harbor的項目名
harbor_proj=$2
#harbor里的鏡像名
image_repo=$3
#標(biāo)簽
image_tag=$4
#容器內(nèi)部端口
app_port=$5
#宿主機端口
export_port=$6
#鏡像名
image=$harbor_addr_port/$harbor_proj/$image_repo:$image_tag
#如果容器已經(jīng)存在,就刪除容器
exist_container_id=`docker ps -a | grep $image_repo | awk '{print $1}'`
if [ -n "$exist_container_id" ];thendocker stop "$exist_container_id"docker rm "$exist_container_id"
fi
#判斷tag是否存在,如果存在就刪除,然后拉取最新鏡像
exist_image_tag=`docker images | grep $harbor_addr_port/$harbor_proj/$image_repo | awk '{print $2}'`
if [[ "$exist_image_tag" =~ "$image_tag" ]]; thendocker rmi -f $image
fi
docker login -u admin -p Harbor12345 $harbor_addr_port
docker pull $image
docker run --name $image_repo -d -p $export_port:$app_port $image
echo "SUCCESS"

授予可執(zhí)行權(quán)限

[root@target bin]# chmod +x deploy.sh 

執(zhí)行腳本后可以看到

在這里插入圖片描述

修改idea代碼

在這里插入圖片描述

再次構(gòu)建,構(gòu)建完成之后執(zhí)行腳本

在這里插入圖片描述

瀏覽器查看

在這里插入圖片描述

Jenkins 添加端口號參數(shù)

在這里插入圖片描述

Jenkins 添加構(gòu)建后操作

還是在 Jenkins 當(dāng)前任務(wù)下的“配置”中,為任務(wù)添加構(gòu)建后操作
在這里插入圖片描述

在這里插入圖片描述

重新構(gòu)建工程

????????這次重新構(gòu)建,可以看到出現(xiàn)了 export_port 的文本框。在這里可以修改容器對外暴露的端口號。
在這里插入圖片描述

????????構(gòu)建成功后可以看到,目標(biāo)服務(wù)器中增加了新的鏡像,該鏡像是從 harbor 拉取的,還可以看到,該鏡像的容器也已經(jīng)啟動。

在這里插入圖片描述

瀏覽器訪問沒有問題

在這里插入圖片描述

http://www.risenshineclean.com/news/39571.html

相關(guān)文章:

  • 做網(wǎng)站所用的技術(shù)推廣普通話的宣傳語
  • 國內(nèi)網(wǎng)站開發(fā)短視頻精準(zhǔn)獲客系統(tǒng)
  • 品牌專業(yè)建設(shè)網(wǎng)站常見的搜索引擎
  • 在哪能學(xué)到網(wǎng)站建設(shè)專業(yè)seo推廣是做什么
  • 做植物提取物好的推廣網(wǎng)站seo自動優(yōu)化軟件下載
  • 校園網(wǎng)站規(guī)劃與建設(shè)工具大全
  • 網(wǎng)站建設(shè)app開發(fā)合同范本百度普通下載
  • 新疆建設(shè)廳官方網(wǎng)站文件鏈接推廣
  • 無錫 網(wǎng)站建設(shè)黃頁88網(wǎng)官網(wǎng)
  • 同個主體新增網(wǎng)站備案外鏈吧怎么使用
  • 做網(wǎng)站看網(wǎng)頁效果手機網(wǎng)站排名優(yōu)化
  • 跨境電商千萬別做亞馬遜seo排名優(yōu)化工具推薦
  • 地產(chǎn)建站規(guī)劃可以投放廣告的網(wǎng)站
  • 網(wǎng)站建設(shè)服務(wù)價格表seo顧問公司
  • 網(wǎng)站icp備案新規(guī)推廣哪個平臺好
  • c 做網(wǎng)站教程百度seo教程視頻
  • 建設(shè)銀行滇龍行網(wǎng)站百度競價推廣點擊器
  • 網(wǎng)站建設(shè)深圳百度霸屏推廣
  • 做網(wǎng)站和app需要多久短網(wǎng)址在線生成
  • 找人做網(wǎng)站價格2345網(wǎng)址大全設(shè)主頁
  • 福州網(wǎng)站建設(shè)制作首選熒光信息建網(wǎng)站建設(shè)
  • 收錢碼合并的網(wǎng)站怎么做東莞seo黑帽培訓(xùn)
  • 網(wǎng)站400百度關(guān)鍵詞優(yōu)化手段
  • vps做網(wǎng)站用什么系統(tǒng)網(wǎng)站推廣途徑和推廣要點有哪些?
  • 站長工具收錄查詢女裝關(guān)鍵詞排名
  • 陜西住房與城鄉(xiāng)建設(shè)廳網(wǎng)站微信引流獲客軟件
  • 東莞南城網(wǎng)站建設(shè)公司網(wǎng)絡(luò)營銷優(yōu)化推廣
  • 網(wǎng)站建設(shè)實訓(xùn)報告建議北京網(wǎng)站制作建設(shè)公司
  • 動易網(wǎng)站安裝最新疫情最新消息
  • 做網(wǎng)站怎么買服務(wù)器嗎免費seo課程