当前位置: 首页 > news >正文

【Jenkins】 上传docker包并推送到远程仓库

文章目录

      • 1. 前置工作
        • 安装和配置Jenkins
        • 设置Docker环境
      • 2. 相关配置流程
        • 创建项目
        • 配置参数

1. 前置工作

安装和配置Jenkins

在开始使用Jenkins之前,需要确保已经安装和配置了Jenkins服务器。您可以按照以下步骤进行安装和配置:

  1. 下载Jenkins并安装:根据您的操作系统,在Jenkins官方网站上下载适合您系统的Jenkins安装包,并按照安装指南进行安装。
  2. 启动Jenkins服务器:安装完成后,启动Jenkins服务器并访问Jenkins的Web界面。
  3. 配置插件:根据您的需求安装和配置Jenkins插件,例如Pipeline插件、Docker插件等。
设置Docker环境

在Jenkins服务器上设置Docker环境是非常重要的,以便Jenkins能够与Docker引擎进行交互。以下是设置Docker环境的一般步骤:

  1. 安装Docker引擎:在Jenkins服务器上安装Docker引擎,可以参考Docker官方文档获取安装步骤。
  2. 配置Docker用户权限:确保Jenkins用户具有执行Docker命令的权限,通常是将Jenkins用户添加到docker用户组。
  3. 启动Docker服务:启动Docker服务以便Jenkins可以与Docker引擎通信。

2. 相关配置流程

创建项目

在这里插入图片描述

  1. 点击左侧菜单中的新建任务。
  2. 输入项目名称,选择自由风格的软件项目,然后点击“OK”。
配置参数
  1. 使用参数化构建过程
    在这里插入图片描述

  2. 编辑执行脚本
    在这里插入图片描述

# 镜像名称
img_name=test-service
# 镜像仓库地址
resp=resp.test.com/$img_namechmod 777 $WORKSPACE
# 上传的tar.gz文件
echo "开始解压Docker镜像"
gzip -df $WORKSPACE/$img_name-docker.tar.gz
echo "结束解压Docker镜像"# 加载Docker镜像
echo "开始加载Docker镜像:$img_name"
loaded_image=$(docker load -i $WORKSPACE/$img_name-docker.tar | awk '{print $3}')
# 重新标记镜像
docker tag $loaded_image $resp# 时间戳
curr_time=$(date "+%m%d%H%M%S")
new_img=$resp:$curr_time# 为镜像添加新的标签
docker tag $resp $new_img# 推送镜像到远程仓库
echo "开始推送镜像:$new_img"
docker push $new_img
echo "结束推送镜像:$new_img"

在这个示例中,会将通过jenkins参数化上传的docker镜像文件直接解压加载到docker中,
注意这里加载使用的是 load 对应的文件是 通过 docker save 方式加载的文件

这里举例如何快速识别是通过什么方式导出的docker文件
在这里插入图片描述

最后通过构建上传文件,实现通过Jenkins上传docker文件并提送到远程仓库

在这里插入图片描述


http://www.mrgr.cn/news/64891.html

相关文章:

  • [spring源码]spring推断构造方法
  • 你敢想象吗?我能远程控制家里的电脑进入Bios
  • OpenAI又添新功能可用
  • 勒索软件通过易受攻击的 Cyber​​Panel 实例攻击网络托管服务器
  • Navicat Premium安装卸载及使用教程教程
  • 【golang/navmesh】使用recast navigation进行寻路
  • 基于YOLO11/v10/v8/v5深度学习的危险驾驶行为检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
  • ZYNQ7045之YOLO部署——FPGA-ZYNQ Soc实战笔记1
  • C#中const与readonly的区别:定义、赋值与用途
  • Observability:OpenTelemetry Elastic 分发简介
  • 全网最全的前端学习路线和编程指南
  • 微服务架构深入理解 | 技术栈
  • 基于java+SpringBoot+Vue的古典舞在线交流平台设计与实现
  • 高频电子线路---调幅方法与检波
  • dup函数-文件描述符
  • n1book web1信息收集
  • Boost服务器端的acceptor、io_context和socket的理解
  • 架构师备考-信息安全
  • 基于 Java 的 Spring Boot 和 Vue 的宠物领养系统设计与实现
  • JVM问题排查分析
  • 各种方法实现瀑布流
  • 026集——CAD动态效果—瞬态实现——vs CAD二次开发
  • 力扣题目解析--罗马数字转整型
  • Linux入门(2)
  • 手机App防沉迷系统
  • ValueError: images do not match