教你使用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 + consul + upsync 完成动态负载均衡的方法详解
Mar 31 Servers
详解Nginx启动失败的几种错误处理
Apr 01 Servers
制作能在nginx和IIS中使用的ssl证书
Jun 21 Servers
Nginx反向代理至go-fastdfs案例讲解
Aug 02 Servers
Z-Order加速Hudi大规模数据集方案分析
Mar 31 Servers
阿里云k8s服务升级时502错误 springboot项目应用
Apr 09 Servers
KVM基础命令详解
Apr 30 Servers
Apache POI操作批量导入MySQL数据库
Jun 21 Servers
Linux中sftp常用命令整理
Jun 28 Servers
如何让你的Nginx支持分布式追踪详解
Jul 07 Servers
教你nginx跳转配置的四种方式
Jul 07 Servers
Nginx如何配置根据路径转发详解
Jul 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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
php中static和const关键字用法分析
2016/12/07 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
最常用的12种设计模式小结
2011/08/09 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
简单介绍Python中的decode()方法的使用
2015/05/18 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
市场开发与营销专业求职信
2013/12/31 职场文书
英语国培研修感言
2014/02/13 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
招聘专员岗位职责
2014/03/07 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
就业意向书
2014/07/29 职场文书
签字仪式主持词
2015/07/03 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书