教你使用Jenkins集成Harbor自动发布镜像
作者:bst@微胖子 发布时间:2023-10-28 02:32:24
1、概述
在实际生产中,如果进行手动发布镜像到 Harbor,那么实在太 low 了。实际中,一般会结合 Jenkins 的流水线,进行自动构建和发布。
大致流程说明:
开发人员每天把代码提交到 Gitlab 代码仓库
Jenkins 从 Gitlab 代码仓库中拉取项目源码,进行编译并打成 jar 包;然后构建成 Docker 镜像,将镜像推送到
Harbor 私有镜像仓库
Jenkins 发送 SSH 远程命令,让生成部署服务器从 Harbor 私有镜像仓库中拉取镜像到本地;然后创建容器
最后用户可以访问到容器
2、Jenkins 脚本式发布镜像
新建构建任务
配置代码仓库
上传成果物到服务器
因 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
发布镜像
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 文件的内容根据实际项目情况进行修改。
构建并验证
登录 Harbor 查看是否推送镜像到 Harbor 镜像仓库成功
3、Jenkins 插件式发布镜像
安装 CloudBees Docker Build and Publish 插件
Manage Jenkins -> Manage Plugins
添加凭证
Manage Jenkins -> Manage Credentials
创建一个 Harbor 的账密凭证
构建增加 Docker Build and Publish
在点击高级选项中可以设置
Build Context:构建上下文路径
Dockerfile Path:Dockerfile 文件的路径
根据实际情况配置,配置如下:
经过以上设置,即可进行 Jenkins 任务执行,构建镜像,执行dockerfile时其实就已经将镜像仓库的jar拷贝到了运行目录下,然后使用脚本在容器中启动了镜像jar,全自动,用户可以直接访问。
来源:https://blog.csdn.net/zouyang920/article/details/123925904


猜你喜欢
- Ask.com在搜索引擎市场增长迅猛,刚刚传出消息其将耗资1亿美元于两年内进入中国市场建立中文版,就个人感觉,Ask在用户体验方面整体上已经
- 很多热门论坛都会给会员提供FTP资源下载,达到一定等级的会员就可以免费登录这些FTP服务器下载诸多共享资源,如影视、技术资料、常用大型工具软
- 1、后台用户名和密码是否是明文保存的?建议增加昵称字段,区别后台的用户,同时对用户名和密码进行非规范的md5加密,例如加密以后截取15位字串
- 写写自己的故事,在这里一个月挣八千实在不值一提,只是希望给一些新站长,尤其想做SOHO的站长一点参考,希望多多交流,共建和谐网络,同奔小康生
- 1 概述系统centos8,利用httpd搭建本地web服务器.2 安装httpdsudo yum install -y httpd3 启动
- “朝阳反盗版的时候我正在住院,要不然我也会去支持他!”在版权问题上,赵本山绝对力挺。2月7日,《乡村爱情故事》在搜狐高清网络的独播首映礼上,
- 由于ASP它本身是服务器提供的一贡服务功能,特别是最近由dvbbs的upfile文件出现漏洞以来,其高度的隐蔽性和难查杀性,对网站的安全造成
- 最近一段时间我觉得百度联盟的变化很快,先是增加了几种新规格的广告代码,后来又开放了由邮局支付向银行卡支付的表单(此表单以前需要邮寄相关资料才
- 11月7日消息,盛大游戏CEO李瑜今日在2009第二届WEBGAME与SNS社区运营大会上表示,目前的网页游戏行业出来了百家争鸣、百花齐放的
- 配置1.Kerberos提供了一个集中式的认证服务器结构,认证服务器的功能式实现用户与其访问的服务器间的相互鉴别。(采用的是对称密钥加密技术
- 人总是愿意用挑剔的眼光来看到新生事物,在对待刀片服务器的问题就是如此,有些人对于一些反复介绍的技术视而不见,仍然强加给刀片服务器一些莫须有的
- lvs+keepalived是什么? keepalived工作原理keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于
- 前言:我们知道,Docker 主要是基于 Namespace、cgroups 和联合文件系统这三大核心技术实现的。前面的课时我详细讲解了 N
- DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址。目前国内电信运
- 如果想为WP找一个相册插件,我想NextGEN Gallery最适合了,我觉得这是我用过的最好的WP插件之一,功能很强大,提供了很完美的照片
- 虽然说亡羊补牢可以将木马后门造成的损失降至最低,但最好的方法显然是防患于未然。1、后门防范基本功首先要关闭本机不用的端口或只允许指定的端口访
- 10月26日凌晨消息,据迅雷内部人士透露,迅雷将于近期起诉搜狐侵犯版权,这是自9月份搜狐成立联盟起诉迅雷后,迅雷公司首次作出回应。据了解,迅
- 一、域名过期后第一阶段域名过期后1~45天内,将处于注册商保留状态whois英文状态:REGISTRAR-HOLD二、域名过期后第二阶段 注
- 为什么需要权限管理?1.计算机资源有限,我们需要合理的分配计算机资源。2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十
- win2003 server下的IIS6默认设置下对每个运行在默认应用池中的工作者进程都会经过20多个小时后自动回收该进程,造成保存在该进程