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

【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_name

chmod 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.kler.cn/a/378291.html

相关文章:

  • 全面解析:容器化技术及其应用
  • 独孤思维:工作被骂,副业停滞,算个屁
  • Hugging Face魔塔使用
  • 如果 MySQL 主库出现了问题,从库该何去何从呢?
  • 使用 pytorch 运行预训练模型的框架
  • Rust 力扣 - 2461. 长度为 K 子数组中的最大和
  • 构建您自己的 RAG 应用程序:使用 Ollama、Python 和 ChromaDB 在本地设置 LLM 的分步指南
  • 独立开发的个人品牌打造:个人IP与独立开发的结合
  • 如何将epub转换成word?
  • HTML 基础标签——表单标签<form>
  • C语言中的野指针以及避免野指针的常用方式
  • 字符串匹配——KMP算法
  • 六、Go语言快速入门之数组和切片
  • 斩!JavaScript语法进阶
  • GDB(GNU Debugger)的使用教程
  • 代码随想录算法训练营第三十四天|Day34 动态规划
  • 四川无人机航测服务公司产品应用案例
  • 深度学习揭秘:神经网络如何模拟人脑
  • 100种算法【Python版】第38篇——Boyer-Moore算法
  • Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
  • PyQt入门指南四十 图形视图框架Graphics View
  • 使用WebStorm开发Vue3项目
  • 18.04Ubuntu遇到Unable to locate package
  • Games101笔记-三维Transform变换(三)
  • 手机怎么玩森林之子?远程玩森林之子教程
  • 【解决】Linux环境中mysqlclient安装失败问题