教你使用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的rewrite模块详解
Mar 31 Servers
Nginx如何配置Http、Https、WS、WSS的方法步骤
May 11 Servers
详解nginx location指令
Jan 18 Servers
Nginx 反向代理解决跨域问题多种情况分析
Jan 18 Servers
Apache Pulsar集群搭建部署详细过程
Feb 12 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
Jun 10 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
Jul 15 Servers
Nginx报404错误的详细解决方法
Jul 23 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
Aug 14 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
php 文章采集正则代码
2009/12/28 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
python实现图片批量剪切示例
2014/03/25 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python实现两款计算器功能示例
2017/12/19 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
如何基于python测量代码运行时间
2019/12/25 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
Python类及获取对象属性方法解析
2020/06/15 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
节能减排倡议书
2014/04/15 职场文书
公司口号大全
2014/06/11 职场文书
法人身份证明书
2014/10/08 职场文书
民事答辩状范本
2015/05/21 职场文书