当前位置: 首页 > news >正文

警惕成人网站免费看手机短视频培训机构排名

警惕成人网站免费看手机,短视频培训机构排名,有哪些可以做问卷的网站,寮步镇网站仿做目录 11、自由风格的CI操作(最终)Jenkins容器化实现方案修改 docker.sock 权限修改 Jenkins 启动命令后重启 Jenkins构建镜像推送到Harbor修改 daemon.json 文件Jenkins 删除构建后操作Jenkins 添加 shell 命令重新构建 Jenkins通知目标服务器拉取镜像目…

目录

  • 11、自由风格的CI操作(最终)
    • Jenkins容器化实现方案
      • 修改 docker.sock 权限
      • 修改 Jenkins 启动命令后重启
    • Jenkins构建镜像推送到Harbor
      • 修改 daemon.json 文件
      • Jenkins 删除构建后操作
      • Jenkins 添加 shell 命令
      • 重新构建
    • Jenkins通知目标服务器拉取镜像
      • 目标服务器修改 daemon.json 文件
      • 定义脚本文件
      • Jenkins 添加端口号参数
      • Jenkins 添加构建后操作
      • 重新构建工程

11、自由风格的CI操作(最终)

        前面的架构存在的问题是,若有多个目标服务器都需要使用该镜像,那么每个目标服务 器都需要在本地构建镜像,形成系统资源浪费。若能够在 Jenkins 中将镜像构建好并推送到 Harbor 镜像中心,那么无论有多少目标服务器需要该镜像,都只需要从 Harbor 拉取即可

Jenkins容器化实现方案

        如果想在Jenkins中构建镜像,则需要Jenkins中有Docker引擎,指的是Jenkins容器内有Docker,因为我们的Jenkins是用docker起的,可以在Jennkins内再安装docker,但这种方式不太方便,不好维护,可以使用与宿主机共享Docker引擎。

修改 docker.sock 权限

        /var/run/docker.sock 文件是 docker clientdocker daemon 在本地进行通信的 socket 文件。默认的组为 docker,且 other 用户不具有读写权限,这样 Jenkins 是无法来操作该文 件的。

在这里插入图片描述

将其组调整为 root,且为其分配读写权限

在这里插入图片描述

修改 Jenkins 启动命令后重启

首先强制删除正在运行的 Jenkins 容器。

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

        然后在 Jenkins 启动命令中新增/var/run/docker.sock,docker 命令文件/usr/bin/docker, 及/etc/docker/daemon.json 文件为数据卷。
重启 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 \ # 实现推送harbor时使用的http信任,而不是https
> -d jenkins/jenkins:lts

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

在这里插入图片描述

Jenkins构建镜像推送到Harbor

        先把idea的compose.yml文件删除,push到gitlab,因为我们使用jenkins帮忙构建镜像然后推送到Harbor,不需要到目标服务器进行本地制作镜像并启动容器。(操作没截图,自己记得删除)

修改 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服务器所在的IP和端口]
}

重启

[root@jenkins my_hellojenkins]# service docker restart

Jenkins 删除构建后操作

        原来的 Jenkins 中配置的“构建后操作”完成的是将代码推送到目标服务器后,让目标服务器通过 docker compose 完成镜像的构建与启动。但现在不需要了,因为镜像构建任务要由 Jenkins 自己完成了。在 Jenkins 当前任务下的“配置”中删除

在这里插入图片描述

Jenkins 添加 shell 命令

        在 sonarqube 对代码质量检测完毕后,再添加一个“构建步骤”。这个构建步骤通过 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

重新构建

        Jenkins 中在返回的任务首页中,再次执行立即构建。构建成功后,在 Jenkins 主机中可以查看到构建好的镜像与重新tag 过的镜像。

在这里插入图片描述

在 harbor 的仓库中也可以看到推送来的镜像。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Jenkins通知目标服务器拉取镜像

目标服务器修改 daemon.json 文件

        目标服务器是 Harbor 的客户端,需要修改/etc/docker/daemon.json 文件。修改后重启 Docker

在这里插入图片描述

定义脚本文件

        在目标服务器 PATH 路径下的任意目录中定义一个脚本文件 deploy.sh。例如,定义在/usr/local/bin目录下。然后再为其赋予可执行权限。这样该 deploy.sh命令就可以在任意目录下运行了。

文件内容如下

#!/bin/bash
#harbor的IP地址和端口
harbor_addr_port=$1
#harbor的项目名
harbor_proj=$2
#harbor里的镜像名
image_repo=$3
#标签
image_tag=$4
#容器内部端口
app_port=$5
#宿主机端口
export_port=$6
#镜像名
image=$harbor_addr_port/$harbor_proj/$image_repo:$image_tag
#如果容器已经存在,就删除容器
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"

授予可执行权限

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

执行脚本后可以看到

在这里插入图片描述

修改idea代码

在这里插入图片描述

再次构建,构建完成之后执行脚本

在这里插入图片描述

浏览器查看

在这里插入图片描述

Jenkins 添加端口号参数

在这里插入图片描述

Jenkins 添加构建后操作

还是在 Jenkins 当前任务下的“配置”中,为任务添加构建后操作
在这里插入图片描述

在这里插入图片描述

重新构建工程

        这次重新构建,可以看到出现了 export_port 的文本框。在这里可以修改容器对外暴露的端口号
在这里插入图片描述

        构建成功后可以看到,目标服务器中增加了新的镜像,该镜像是从 harbor 拉取的,还可以看到,该镜像的容器也已经启动。

在这里插入图片描述

浏览器访问没有问题

在这里插入图片描述

http://www.dinnco.com/news/22277.html

相关文章:

  • 什么叫营销型网站海外社交媒体营销
  • 北碚免费建站哪家做得好百度注册公司网站
  • WordPress二级栏目代码武汉seo广告推广
  • 怎么做电影流量网站企业网站优化技巧
  • 怎样在网上做环保设备网站长沙建站优化
  • dz3.2整合wordpress东莞百度seo关键词优化
  • 搜狗网站排名怎么做营销网站建设方案
  • 示范校建设网站维护怎么开发一款app软件
  • 烟台网站制作步骤如何做好产品网络推广
  • 找团队做网站需要明确哪些东西开创集团与百度
  • 如何微信支付购物网站百度官方推广平台
  • 古风网站建设模板色盲测试图第六版
  • h5技术做网站百度官网认证入口
  • 接游戏单子代打的平台搜索引擎营销优化策略有哪些
  • 物流好的网站模板下载做网站的软件有哪些
  • wordpress好吗网络优化工程师证书
  • 免费b2b网站大全黄页88网站怎么seo关键词排名优化推广
  • 南宁建站方案近期国际热点大事件
  • 如何做分销型网站企业seo顾问服务
  • 怎么分析网站用什么技术做的网站自然优化
  • 外贸公司网站空间免费广告投放网站
  • 怎么做简单的网站首页chrome手机安卓版
  • 驻马店网站制作手机百度极速版
  • 正规的彩票网站怎么做营销策略方案
  • 建设大型网站网站排名seo
  • 女生做网站前端设计师电商还有发展前景吗
  • 英文互动网站建设赛雷猴是什么意思
  • 网站建设优化是干嘛宁波seo外包哪个品牌好
  • 网站建设投标邀请函最新国际新闻头条今日国际大事件
  • 乌鲁木齐做企业网站快速网站推广