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

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

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

标签:Jenkins,Harbor,镜像
0
投稿

猜你喜欢

  • 链接在搜索引擎优化得分 质量才是硬道理

    2008-12-30 09:25:00
  • 如何安装和使用wine

    2010-05-20 18:26:00
  • vmware克隆Centos6.4虚拟机网卡无法启动问题的解决方法

    2022-01-25 12:10:20
  • Linux操作系统的时间服务器配置方法

    2009-09-09 08:43:00
  • Linux云服务器搭建SFTP服务器图片服务器的操作

    2023-07-14 19:39:06
  • 盛大游戏宣布最新网游《通灵王》即将上市

    2009-11-18 11:44:00
  • Exchange 2007 Direct Push Mail功能

    2010-02-25 19:01:00
  • 动易SiteFactory 2.5新功能:自动上传word图片

    2009-05-17 10:31:00
  • Web 2.0 下一步(二)第四流:情感流

    2007-09-21 12:04:00
  • 原创与伪原创详解与应对

    2009-05-15 10:19:00
  • 在Windows 2003 中为DNS配置Internet访问

    2010-01-16 18:45:00
  • Docker部署SpringBoot应用的实现步骤

    2023-04-14 19:21:32
  • 网站首页的广告形式

    2009-06-01 11:32:00
  • 鬼斧神工 用美图秀秀为芙蓉姐姐“整容”

    2009-10-29 15:55:00
  • VMware ESXi 5.5部署与配置图解过程

    2023-11-03 19:35:22
  • 教你如何在Mac上安装VMware Fusion和CentOS-7

    2023-11-04 16:36:49
  • 从另一个角度看SEO操作

    2008-02-20 18:43:00
  • Linux系统中如何添加自己的库文件路径

    2009-09-20 20:21:00
  • FreeBSD平台下架设安全高效的Web服务器

    2009-02-18 15:37:00
  • 使用QMailadmin实现QMail邮件账户的Web管理

    2007-08-22 13:40:00
  • asp之家 网站运营 m.aspxhome.com