教你使用Jenkins集成Harbor自动发布镜像


Posted in Servers onApril 03, 2022

1、概述

在实际生产中,如果进行手动发布镜像到 Harbor,那么实在太 low 了。实际中,一般会结合 Jenkins 的流水线,进行自动构建和发布。

教你使用Jenkins集成Harbor自动发布镜像

大致流程说明:

  • 开发人员每天把代码提交到 Gitlab 代码仓库
  • Jenkins 从 Gitlab 代码仓库中拉取项目源码,进行编译并打成 jar 包;然后构建成 Docker 镜像,将镜像推送到
  • Harbor 私有镜像仓库
  • Jenkins 发送 SSH 远程命令,让生成部署服务器从 Harbor 私有镜像仓库中拉取镜像到本地;然后创建容器
  • 最后用户可以访问到容器

2、Jenkins 脚本式发布镜像

新建构建任务

教你使用Jenkins集成Harbor自动发布镜像

配置代码仓库

教你使用Jenkins集成Harbor自动发布镜像

上传成果物到服务器

教你使用Jenkins集成Harbor自动发布镜像

因 Jenkins 部署在 Windows 操作系统,所以采用批处理脚本。请根据 Jenkins 部署的操作系统的情况使用 batch command 或者 shell。

C:\jenkins\pscp.exe -r -l root -pw root %WORKSPACE%/zwt-pestilence/zwt-pestilence-web/target/zwt-pestilence-web-RELEASE.jar 
192.168.10.8:/home/huangjinjin/software/springdocker

发布镜像

教你使用Jenkins集成Harbor自动发布镜像

cd /home/huangjinjin/software/springdocker
docker build -t zwt:v1.0 .
docker login -u admin -p Harbor123 192.168.10.8
docker tag zwt:v1.0 192.168.10.8/omg/zwt:v1.0
docker push 192.168.10.8/omg/zwt:v1.0

创建 Dockerfile
构建后的 jar 上传到如下路径

/home/huangjinjin/software/springdocker

所以在该路径下创建 Dockerfile 文件,内容如下:

FROM openjdk:8-jre-slim                       //指定jdk
MAINTAINER huangjinjin "huangjinjin@qq.com"   //作者和邮箱描述
ENV PARAMS=""                                 //赋值
ENV TZ=PRC                                    //赋值
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /servers                              //建立软连接 ,指定时区时间
ADD zwt-pestilence-web-RELEASE.jar app/zwt-pestilence-web-RELEASE.jar      //拷贝jar包
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /servers/app/zwt-pestilence-web-RELEASE.jar $PARAMS"]  //jar运行命令

Dockerfile 文件的内容根据实际项目情况进行修改。

构建并验证

教你使用Jenkins集成Harbor自动发布镜像

教你使用Jenkins集成Harbor自动发布镜像

登录 Harbor 查看是否推送镜像到 Harbor 镜像仓库成功

教你使用Jenkins集成Harbor自动发布镜像

3、Jenkins 插件式发布镜像

安装 CloudBees Docker Build and Publish 插件
Manage Jenkins -> Manage Plugins

教你使用Jenkins集成Harbor自动发布镜像

添加凭证

Manage Jenkins -> Manage Credentials

教你使用Jenkins集成Harbor自动发布镜像

创建一个 Harbor 的账密凭证

构建增加 Docker Build and Publish

教你使用Jenkins集成Harbor自动发布镜像

在点击高级选项中可以设置

  • Build Context:构建上下文路径
  • Dockerfile Path:Dockerfile 文件的路径

根据实际情况配置,配置如下:

教你使用Jenkins集成Harbor自动发布镜像

经过以上设置,即可进行 Jenkins 任务执行,构建镜像,执行dockerfile时其实就已经将镜像仓库的jar拷贝到了运行目录下,然后使用脚本在容器中启动了镜像jar,全自动,用户可以直接访问。

到此这篇关于Jenkins 集成 Harbor 自动发布镜像的文章就介绍到这了,更多相关Jenkins Harbor 镜像内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Nginx的反向代理实例详解
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
使用nginx配置访问wgcloud的方法
Jun 26 Servers
Linux安装apache服务器的配置过程
Nov 27 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
深入解析Apache Hudi内核文件标记机制
Mar 31 Servers
Nginx配置根据url参数重定向
Apr 11 Servers
Windows Server 2019 域控制器安装图文教程
Apr 28 Servers
Windows Server 2012配置DNS服务器的方法
Apr 29 Servers
Windows Server 2008配置防火墙策略详解
Jun 28 Servers
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
Jul 15 Servers
教你使用Ubuntu搭建DNS服务器
Sep 23 Servers
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
Apr 02 #Servers
为Centos安装指定版本的Docker
Apr 01 #Servers
Dashboard管理Kubernetes集群与API访问配置
Kubernetes中Deployment的升级与回滚
Apr 01 #Servers
了解Kubernetes中的Service和Endpoint
Kubernetes控制节点的部署
Apr 01 #Servers
Kubernetes部署实例并配置Deployment、网络映射、副本集
Apr 01 #Servers
You might like
用PHP将数据导入到Foxmail
2006/10/09 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
PHP可变函数的使用详解
2013/06/14 PHP
php日期操作技巧小结
2016/06/25 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
python 中xpath爬虫实例详解
2019/08/26 Python
wxPython实现画图板
2020/08/27 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
大一自我鉴定范文
2013/12/27 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
冬季施工防火方案
2014/05/17 职场文书
教师工作失职检讨书
2014/09/18 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
常住证明范本
2015/06/23 职场文书
总经理聘用协议书
2015/09/21 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android
Python sklearn分类决策树方法详解
2022/09/23 Python