目录

安装Harbor

Harbor基本使用

 Jenkins容器制作镜像并推送到Harbor

Jenkins容器拥有Docker能力

修改Jenkins任务配置,推送镜像

前面已经完成通过Jenkins实现对项目进行打包、代码扫描、部署的工作,如果项目众多,需要部署多态服务器时,还是比较耗时的。如果能集成Harbor,搭建自己的镜像仓库,这样我们在项目迁移、增加服务器时,就能更容易的实现平滑部署。接下来,介绍如何搭建Harbor镜像仓库,并应用到我们的项目中。

安装Harbor

下载Harbor

https://github.com/goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.9.1.tgzhttps://github.com/goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.9.1.tgz

安装Harbor,上传下载好的到/usr/local目录下解压harbor文件,是否重名根据自己

tar -zxvf harbor-offline-installer-v2.9.1.tgz

进入harbor目录,修改配置文件,harbor.yml.tmpl时配置文件模板,复制一份,在此基础上进行修改即可

修改harbor.yml文件,修改主机名,端口自定义,注释掉HTTPS相关的内容,如果有自己的域名也可以配置HTTPS方式(记得更新证书、密钥,在17、18行),36行是初始密码,可以在这里修改,也可以安装成功后,在页面修改

 执行预备脚本

执行安装脚本

查看运行情况,9个容器正常运行,Harbor才能正常访问

访问Harbor

修改密码

Harbor基本使用

创建项目,library是基础项目

访问级别不勾选,即为私有,上传拉取需要登录;项目配置限额是设置网速,-1为不限制;镜像代理不需要

 修改docker的daemon.json文件

{     "insecure-registries": ["http://192.168.171.111:80"] }

 重启docker,重启后可以查看harbor运行的容器,如果不够9个,可以先重新加载docker daemon,再重启docker

systemctl daemon-reload

systemctl restart docker

 上传镜像

先登录Harbor

docker login -u admin -p Harbor12345 192.168.171.111:80

镜像打标签,命名规则:Harbor地址/项目名称/镜像名称:版本

 docker tag nginx:latest 192.168.171.111:80/repository/nginx:v1.0.1

上传镜像时,名称必须对应

docker push 192.168.171.111:80/repository/nginx:v1.0.1

 

 拉起镜像

删除掉本地的镜像

docker pull 192.168.171.111:80/repository/nginx:v1.0.1 

 Jenkins容器制作镜像并推送到Harbor

Jenkins容器拥有Docker能力

让jenkins容器拥有docker的能力,实现这一目的有两种方案:一、在jenkins容器中安装docker;二、让jenkins容器可以使用宿主机中的docker。由于jenkins容器中的组件不够完善,第一种方案成本比较高,这里推荐使用第二种方案。

修改宿主机中docker线程的用户权限

chown root:root docker.sock

chmod o+rw docker.sock

修改jenkins的docker-compose.yml文件

version: "3.1"

services:

jenkins:

image: jenkins/jenkins:latest

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

 重启jenkins

docker-compose up -d

进入jenkins容器,测试是否可以使用docker

docker exec -it jenkins bash

 

修改Jenkins任务配置,推送镜像

修改配置,删除在目标服务器制作镜像的步骤

增加用jenkins制作镜像的步骤

查看构建日志和制作的镜像

jenkins容器中的

宿主机中的

 制作好的镜像推送到Harbor仓库,如果jenkins和harbor没在同一台服务器,需要修改docker的daemon文件,配置上harbor的地址,参考上面harbor基本使用中的内容。

mv target/*.jar docker/ docker build -t jenkins-demo:$tag docker/ docker login -u admin -p Harbor12345 http://192.168.171.111:80 docker tag jenkins-demo:$tag 192.168.171.111:80/repository/jenkins-demo:$tag docker push 192.168.171.111:80/repository/jenkins-demo:$tag

 

 

写在最后

Jenkins制作镜像并推送到Harbor,就告一段落了。接下来,就是目标服务器从Harbor拉取镜像并启动项目。如果对您有一些微末的帮助,希望您能一键三连,谢谢!

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。