DevOps搭建(十二)-Jenkins推送镜像到Harbor详解

什么是Harbor?Harbor 是一个开源的企业级容器镜像仓库,它提供了安全、可靠、高效的镜像管理和分发功能。 Harbor 支持 Docker 镜像和 Helm Chart,可以与其他云原生工具和平台集成,如 Kubernetes、Docker Swarm 等。

使用 Harbor,用户可以存储、管理和共享自己的容器镜像,同时也可以从公共镜像仓库中获取镜像。Harbor 提供了丰富的安全功能,包括用户认证、角色授权、镜像扫描等,以确保镜像的安全性和可靠性。

总的来说,Harbor 是一个功能强大、易于使用的容器镜像仓库,适用于企业级应用和大规模容器部署。

1、配置打镜像脚本

1.1、移动jar包到docker目录

在maven打包生成jar包之后,我们首先需要把jar包放到docker目录下和Dockerfile放一起才能打镜像,如下语句移动jar包:

复制代码
mv target/*.jar docker/

1.2、执行打镜像操作

接着使用docker命令打镜像

复制代码
docker build -t devops-test:$tag docker/

其中,$tag为Jenkins上面定义的标签。

注:因为执行的脚本默认不是在docker目录下运行的,因此需要指定docker路径,docker/

也可以cd docker/后再直接执行docker build -t devops-test:$tag .注意最后有个英文的点号。

1.3、测试打镜像

执行Jenkins构建测试下,打印如下日志,证明Docker在Jenkins容器内打镜像成功。

2、推送镜像到Harbor仓库

镜像打好了,那要推送到Harbor仓库中,首先要登录Harbor,然后按照指定规则重命名镜像名称,最后执行推送操作。

2.1、登录Harbor

复制代码
docker login -u admin -p Harbor12345 192.168.88.125:80

2.2、修改镜像名称

复制代码
docker tag devops-test:$tag 192.168.88.125:80/repo/devops-test:$tag

2.3、推送镜像

复制代码
docker push 192.168.88.125:80/repo/devops-test:$tag

结合步骤1完整的脚本如下:

复制代码
mv target/*.jar docker/
docker build -t devops-test:$tag docker/
docker login -u admin -p Harbor12345 192.168.88.125:80
docker tag devops-test:$tag 192.168.88.125:80/repo/devops-test:$tag
docker push 192.168.88.125:80/repo/devops-test:$tag

2.3、Jenkins构建

构建完成之后,看日志已经成功推送。

2.4、查看Harbor仓库的镜像

打开Harbor仓库管理列表,发现我们的镜像已经推送成功。

相关推荐
pccai-vip13 分钟前
架构论文《论负载均衡的设计与应用》
运维·架构·负载均衡
Dotrust东信创智42 分钟前
从“手动试错”到“自动化闭环”:实车OTA测试的效率革命
运维·自动化
安冬的码畜日常1 小时前
【JUnit实战3_21】第十二章:JUnit 5 与主流 IDE 的集成 + 第十三章:用 JUnit 5 做持续集成(上):在本地安装 Jenkins
junit·eclipse·jenkins·intellij idea·持续集成·junit5·netbeans
matrixlzp1 小时前
Jenkins 实战4:集群配置与分布式构建
运维·jenkins
远程软件小帮手1 小时前
哪个云电脑最好用?适合玩游戏的云电脑测评!
运维·服务器·游戏·电脑
wanhengidc3 小时前
云手机中的数据信息会被泄露吗
运维·服务器·安全·智能手机·玩游戏
酷柚易汛智推官5 小时前
AI驱动的智能运维知识平台建设:技术实践与未来展望
运维·人工智能·酷柚易汛
小李独爱秋5 小时前
计算机网络经典问题透视:当路由器需要同时连接以太网和ATM网络时,需要添加什么硬件?
运维·网络协议·计算机网络·网络安全·智能路由器
Fr2ed0m5 小时前
Linux 文本处理完整指南:grep、awk、sed、jq 命令详解与实战
linux·运维·服务器
边疆.6 小时前
【Linux】自动化构建工具make和Makefile和第一个系统程序—进度条
linux·运维·服务器·makefile·make