教你使用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 相关文章推荐
使用Apache的rewrite
Mar 09 Servers
Nginx配置Https安全认证的实现
May 26 Servers
详解nginx进程锁的实现
Jun 14 Servers
Nginx反向代理配置的全过程记录
Jun 22 Servers
HDFS免重启挂载新磁盘
Apr 06 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
docker compose 部署 golang 的 Athens 私有代理问题
Apr 28 Servers
Nginx限流和黑名单配置
May 20 Servers
Linux中文件的基本属性介绍
Jun 01 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
Jun 10 Servers
在windows server 2012 r2中安装mysql的详细步骤
Jul 23 Servers
ubuntu端向日葵键盘输入卡顿问题及解决
Dec 24 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
python操作redis数据库的三种方法
2020/09/10 Python
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
简历自我评价模版
2014/01/31 职场文书
小学体育教学反思
2014/01/31 职场文书
海飞丝的广告词
2014/03/20 职场文书
公司保密承诺书
2014/03/27 职场文书
聘用意向书范本
2014/04/01 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
刑事上诉状范文
2015/05/22 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
Python中第三方库Faker的使用详解
2022/04/02 Python