网站运营
位置:首页>> 网站运营>> 教你使用Jenkins集成Harbor自动发布镜像

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

作者:bst@微胖子  发布时间:2023-10-28 02:32:24 

标签:Jenkins,Harbor,镜像

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,全自动,用户可以直接访问。

来源:https://blog.csdn.net/zouyang920/article/details/123925904

0
投稿

猜你喜欢

  • 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多个小时后自动回收该进程,造成保存在该进程
手机版 网站运营 asp之家 www.aspxhome.com