获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理

这篇具有很好参考价值的文章主要介绍了获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天遇到一个问题: 发现一个部署在Jenkins的脚本用的docker镜像是:test_project:v20191108,即这个项目是19年的一个版本,由于代码不断更新,用现在的最新代码运行该脚本,可能不能运行了,必须用19年的代码才可以。因为一些原因,可能要修改这个脚本的某些配置。

所以,准备从19年的docker镜像里,获取但是版本的代码。然后把该代码提交到原项目的一个新分支里。然后package jenkins进行管理。打包镜像,再修改jenkins脚本镜像名为新镜像名。

过程简述:

登录
docker login --username=xxx  -p=xxx xxx.xxx.tencentyun.com
拉镜像
docker pull xxx.xxx.tencentyun.com/xxx/test_project:v20191108
用该镜像运行容器
docker  run --name="test_project_v20191108"    -itd   xxx.xxx.tencentyun.com/xxx/test_project:v20191108   /bin/bash
拷贝容器里项目文件到本机(/usr/src/app/是项目目录)
docker cp test_project_v20191108:/usr/src/app/   ./
把项目代码从服务器传到开发机器,例如通过xshell
...
gitlab上对test_project项目创建一个分支来放v20191108版本的代码(可以叫test_project_v20191108)。
然后把这个分支的代码拉到本地:
这样直接拉取,会与本地的test_project这个文件夹冲突
git clone --depth=1 -b test_project_v20191108    http://xxx.xxx.test_project.git
所以要重命名(比如说拉到本地文件夹叫test_project_v20191108):
git clone --depth=1 -b test_project_v20191108    http://xxx.xxx.test_project.git   test_project_v20191108

然后打开这个分支项目,把镜像里2019年的代码复制覆盖掉这个分支的代码,然后推到gitlab上。这样19年的项目就被保存到gitlab的test_project项目的test_project_v20191108分支了!

然后在复制打包的jenkins上把配置部署,实现项目代码更新,jenkins实时构建新镜像。

Jenkins 
-新建任务
-源码管理:git 
- 输入gitlab链接、配置git账户 
- Branches to build来指定分支:test_project_v20191108
- 构建触发器: 轮询 SCM:* * * * *  (时刻监控gitlab代码更新)
- 构建 SSH site:配置打包linux服务器
- 构建 Command :
	cd 打包服务器放项目的目录/Jenkins任务名
	chmod 777 make.sh && ./make.sh

在make.sh里编写相应命令,即可实现自动打包新镜像,并推送服务器。

然后在该脚本本来的jenkins任务配置信息处修改镜像名为新镜像名(test_project:v20191108修改为test_project_v20191108:latest)docker login --username=xxx -p=xxx   xxx.xxx.tencentyun.com
docker pull xxx.xxx.tencentyun.com/xxx/test_project_v20191108:latest
cmd='xxx/test_scrept.py'
docker run -t --rm --name="xxx_test_scrept" xxx.xxx.tencentyun.com/xxx/test_project_v20191108:latest  python -W ignore ${cmd}

make.sh模板

#!/usr/bin/env bash
echo "开始制作镜像..."
image_tag=`date +%Y%m%d` #_%H%M
echo "当前时间:$image_tag"
docker build -t xxx.xxx.tencentyun.com/xxx/test_project_v20191108:v${image_tag} .
echo "制作镜像成功!"

docker login --username=xxx  -p=xxx xxx.xxx.tencentyun.com
docker push xxx.xxx.tencentyun.com/xxx/test_project_v20191108:v${image_tag}

echo "镜像版本保存"
docker tag xxx.xxx.tencentyun.com/xxx/test_project_v20191108:v${image_tag} xxx.xxx.tencentyun.com/xxx/test_project_v20191108:latest
docker push xxx.xxx.tencentyun.com/xxx/test_project_v20191108:latest

echo "删除本地镜像"
docker rmi xxx.xxx.tencentyun.com/xxx/test_project_v20191108:v${image_tag} 
docker rmi xxx.xxx.tencentyun.com/xxx/test_project_v20191108:latest

Dockerfile模板文章来源地址https://www.toymoban.com/news/detail-636974.html

#镜像基于某个python版本镜像
FROM xxx.xxx.tencentyun.com/xxx/python_base:data_v20230526

#设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN mkdir -p /usr/src/app
ENV PYTHONPATH=/usr/src/app
WORKDIR /usr/src/app


#复制当前目录下所有文件到镜像里
COPY . /usr/src/app
COPY requirements.txt /usr/src/app/requirements.txt
#为镜像安装需要的pyton包
RUN pip install -r /usr/src/app/requirements.txt
#自己打包的代码包导入
RUN pip install /usr/src/app/dist/CAL.tar.gz
CMD python

到了这里,关于获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Gitlab 使用 docker buildx 多重构建镜像上传私有 Harbor与 Dockerhub

    三台虚拟机 192.168.10.2 harbor 仓库 192.168.10.3 gitlab-ce 192.168.10.4 gitlab-runner 192.168.10.5 开发平台 系统: CentOS Linux release 8.5.2111 CPU: 4c 内存:8G 磁盘:40G 2.1 安装 docker buidx buidx在 gitlab runner 节点安装 默认的 docker build 命令无法完成跨平台构建任务,我们需要为 docker 命令行安装 bu

    2024年02月17日
    浏览(58)
  • windows11下使用docker打包镜像并上传到个人镜像仓库(详细图文)

    一、windows下安装docker 步骤: 注意 :安装windows版的docker 需要先安装WSL(windows System for Linux)具体可参考:https://www.ytso.com/270594.html, 本文就不做详细描述。 docker官网 https://www.docker.com/products/docker-desktop/ 下载Docker Desktop 2. 下载成功后,双击进行安装 安装成功后 在 PowerShell 查看

    2024年02月13日
    浏览(47)
  • GitLab拉取、上传项目代码

    使用GitLab进行版本控制是开发者日常工作的重要部分。无论是个人项目还是团队协作,GitLab提供了一个强大的平台,以支持代码的托管、review、CI/CD等功能。本指南将带你了解如何从GitLab拉取项目代码,以及如何将修改后的代码上传回GitLab。 确保你已经安装了Git,并且有一个

    2024年04月15日
    浏览(64)
  • 上传本地项目到Gitlab

    上传本地项目到GitLab主要分成两步: 一、在Gitlab上新建仓库 二、在本地创建项目,关联Gitlab并上传 第一步、在Gitlab上新建仓库: 自定义项目名字后,选择Create即可: 获取该项目的地址: 二、在本地新建项目: 在本地任意磁盘中新建文件夹:TestDemo (名字可以任意起) 然后进

    2024年02月02日
    浏览(35)
  • 上传WSL项目到gitlab

    Gitlab添加SSH KEY 什么是SSH ? SSH 是一种网络协议,具备协议级别的认证及会话管理等功能。另外在架设 SSH 服务方面,任何人都可以轻易地创建安全等级高的服务。相比而言 HTTP 协议则没有上述的特点。 在WSL(Windows Subsystem for Linux)中,SSH公钥通常存储在用户的~/.ssh目录下。具

    2024年02月11日
    浏览(31)
  • gitlab上新建项目后,如何上传本地项目

    一、提交本地项目到git 执行以下命令行 执行完就ok了 二、其他常用的命令行记录

    2024年02月11日
    浏览(46)
  • Linux +Docker镜像打包导出,上传至内网服务器

      sudo:以管理员权限运行命令,通常用于在 Linux 系统中运行需要管理员权限的命令。 docker:Docker 命令行工具。 commit:提交 Docker 镜像的命令。 -a:指定镜像的作者,这里是作者的名字: yjw。 e007d8b7e1b7:docker的容器id。 my_projectv2:v2:要新创建的镜像的名称和版本号,这里是

    2024年02月02日
    浏览(54)
  • idea上传本地项目到gitlab

    1. 配置idea里本地安装的git位置 即选择 Settings - Version Control - Git - Path to Git executable 2. 在idea创建本地仓库 即选择 VCS - Create Git Repository 然后选择目录,默认就是选择的当前项目,所以不用修改路径。 然后项目变红,选择要add的文件(Git - Add),把要忽略的文件加到.gitignore(

    2024年01月21日
    浏览(45)
  • 【本地项目】上传到【GitLab】流程详解

    注意:本篇文章中提到的上传流程所需要的命令,几乎在GitLab的 Command line instructions 中都有所记载 1、安装Git 具体安装流程这里不做过多说明,安装流程可以参考文章:https://blog.csdn.net/mukes/article/details/115693833 Git安装成功后,桌面点击鼠标右键会有提示: 2、创建GitLab项目文

    2024年02月13日
    浏览(38)
  • 本地项目如何上传到Gitlab详细过程步骤

    目录 本地项目上传到Gitlab 第一步:打开gitlab新建一个仓库springboot-rabbitmq: 第二步:找到本地文件,右键点击Git Bash Here。  第三步:初始化本地仓库:  第四步:将当前目录下所有的修改或新增的文件添加到暂存区 第五步:用于将暂存中的更改创建为一次提交 第六步:建立

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包