利用OpenShift的ImageStream部署临时版本

公司是港企,项目都部署在OpenShift上统一管理,因为运行环境为香港网络(外网),配置、中间件等大陆无法直接访问联通。因此在大陆开发时,测试是个很大的问题。为了避免往Git上频繁提交未确定可用的版本,选择用利用OpenShift的ImageStream来部署和测试未完成的临时版本。
在这里插入图片描述

①首先需要安装OpenShift的命令行客户端oc

直接下载解压oc.exe,配置好环境变量就行。

②登录

先登上OpenShift获取登录指令:
在这里插入图片描述
他会让你再次登录,登录后直接点击显示token
在这里插入图片描述
复制这个oc指令,回到oc客户端执行登录
在这里插入图片描述
登录完就可以关掉客户端了。

③在maven中配置OpenShift

在pom.xml中配置好OpenShift的相关参数和插件

        <profile>
            <id>dev-ocp4</id>
            <properties>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                            <excludes>
                                <exclude>
                                    <groupId>org.projectlombok</groupId>
                                    <artifactId>lombok</artifactId>
                                </exclude>
                            </excludes>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.eclipse.jkube</groupId>
                        <artifactId>openshift-maven-plugin</artifactId>
                        <configuration>
                            <access>
                                <namespace>dmg-sit</namespace>
                                <masterUrl>https://api.ocp.xxxx.com:6443</masterUrl>
                                <apiVersion>v1</apiVersion>
                            </access>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

比如这里配置的id是dev-ocp4,OpenShift的命名空间是dmg-sit,url是https://api.ocp.xxxx.com:6443等等。

④修改版本信息

比如原本的版本名是1.2.1-SNAPSHOT

    <groupId>com.xxx.dmg</groupId>
    <artifactId>dmg-xxx-api</artifactId>
    <version>1.2.1-SNAPSHOT</version>
    <name>dmg-courier-admin-api</name>
    <description>DM2.0 API xxx Portal</description>

改成临时版本名1.2.1-ECHOO-TEST

    <groupId>com.xxx.dmg</groupId>
    <artifactId>dmg-xxx-api</artifactId>
    <version>1.2.1-ECHOO-TEST</version>
    <name>dmg-courier-admin-api</name>
    <description>DM2.0 API xxx Portal</description>

⑤把版本推上OpenShift的镜像流中

直接在Terminal执行maven的build指令,注意指定配置的id,这里是dev-ocp4,oc:build是把构建好的项目以镜像的形式推上OpenShift。

mvn -DskipTests -P dev-ocp4 clean package oc:build

在这里插入图片描述
在这里插入图片描述

⑥查看镜像有没有成功推上

在这里插入图片描述
找到项目,点进去看tag有没有刚才推的临时版本
在这里插入图片描述

⑦切换部署版本

在这里插入图片描述
切换为临时版本(tag)
在这里插入图片描述
保存即可,因为配置了CI/CD,容器会自动部署。
在成功部署之前,不会kill掉原有的那个服务,保持高可用。
在这里插入图片描述

⑧敲定版本,提交git

当部署测试后没问题,那么就可以把项目的版本改回来,然后推上git。
最后记得把容器的部署版本设置回去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/615557.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java-函数式编程-jdk

背景 函数式接口很简单&#xff0c;但是不是每一个函数式接口都需要我们自己来写jdk 根据 有无参数&#xff0c;有无返回值&#xff0c;参数的个数和类型&#xff0c;返回值的类型 提前定义了一些通用的函数式接口 IntPredicate 参数&#xff1a;有一个&#xff0c;类型是int类…

基于CCS5.5的双音多频(DTMF)信号检测仿真实验(①检测型音频文件②输入生成音频并检测)

DTMF的优点 我们知道,DTMF根本上仍然是频谱分析,基础还是DFT,但DFT通常需要对一整段数据做变换,而DTMF不同,每输入一个采样点就计算一次,更有利于硬件实现。 基于CCS的双音多频(DTMF)信号检测原理 公式详细推导 详细的公式推导在下面这篇博客中已经进行了详细的描述,…

哈希算法在区块链中的应用

哈希算法是区块链技术的核心组件之一&#xff0c;它确保了区块链数据的不可篡改性和安全性。在本文中&#xff0c;我们将探讨哈希算法的基本原理&#xff0c;以及它在区块链中的具体应用。 哈希算法的基本原理 哈希算法是一种数学函数&#xff0c;它接收输入&#xff08;或“消…

Shell编程之循环语句

目录 1.for循环语句&#xff08;遍历循环&#xff09; 1.1 for语句的结构 1.2 for语句的执行流程 1.3 for语句应用示例 1.4 echo命令参数 2.while循环语句 2.1 while语句应用示例 2.2 通过while循环读取行内容 3.until 4.双重循环 4.1 双重循环案例 4.2 循环的退出 …

达梦数据库连接失败:Connect Failure! “Encryption module failed to load“

初次安装达梦数据库&#xff1a;V7 QT5.12.12版本开发调用数据库&#xff0c;最基础的原型调用&#xff1a; { //执行查询语句或则执行sql语句 QSqlDatabase qDb; QSqlDatabase db QSqlDatabase::addDatabase("QDM"); db.setHostName("192.168.2…

CCF CSP 认证考试历年真题满分题解(所有前四题)

CCF CSP 认证考试历年真题满分题解&#xff08;所有前四题&#xff09; 前言 原本刷题的动机仅仅是为研究生复试的机试环节做准备&#xff0c;我通过刷csp的真题来锻炼自己&#xff0c;因为上次的机试题目全部是csp真题&#xff0c;最后也是顺利上岸。空闲之际&#xff0c;我…

圆柱齿轮的旋向如何判断?

上期出了个题&#xff0c;给了两个内齿轮&#xff0c;请大家来判断他们的旋向&#xff0c;看到了有不少小伙伴评论给出了自己的答案&#xff0c;正确和错误差不多各半吧&#xff0c;错的占比要大一些。这期咱们就好好聊一聊这个问题。 外齿轮的旋向大家貌似判断都没什么问题&a…

Raspberry Pi Connect 官方树莓派远程连接新方式

系列文章目录 前言 2024 年 5 月 7 日 戈登-霍林沃思 今天&#xff0c;我们很高兴地宣布 Raspberry Pi Connect 测试版发布&#xff1a;这是一种安全、易用的方法&#xff0c;只需使用网络浏览器&#xff0c;就能从地球上的任何地方远程访问您的 Raspberry Pi。 远程访问 Rasp…

理解JavaScript递归

什么是递归 程序调用自身的编程技巧称为递归&#xff08;recursion&#xff09; 递归的基本思想是将一个复杂的问题分解成更小、更易于管理的子问题&#xff0c;这些子问题与原始问题相似&#xff0c;但规模更小。 递归的要素 基本情况&#xff08;Base Case&#xff09;&…

BIERv6测试解析— 如何使用仪表进行转发性能测试

什么是BIERv6 BIERv6&#xff08;Bit Index Explicit Replication IPv6 encapsulation&#xff09;是一种新型组播方案。 BIERv6使用比特串封装目的节点集合&#xff0c;无需建立组播分发树或保存流状态&#xff0c;简化了网络节点操作。它与SRv6无缝融合&#xff0c;高效承载…

靠谱的知识竞赛活动公司怎么去找

搞知识竞赛活动&#xff0c;找一家靠谱的知识竞赛活动公司来承办是重中之重&#xff0c;他直接决定了竞赛活动的成败和效果。那么&#xff0c;如何去找这样一家公司呢&#xff1f; 知识竞赛活动一般包括两大部分内容&#xff0c;一部分是舞台及其包装&#xff0c;另一部分是知识…

python实现九宫格图片切割

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 朋友圈九宫格是一种在社交媒体上展示图片或内容的常见布局方式,特别是在微信朋友圈中非常流行。这种布局由九个相同大小的格子组成,通常用于展示一组相关的图片或内容。&…

ESP32-C3-MINI-1

https://www.espressif.com.cn/sites/default/files/documentation/esp32-c3-mini-1_datasheet_cn.pdf 芯片 https://files.seeedstudio.com/wiki/XIAO_WiFi/Resources/esp32-c3_datasheet.pdf 结果参考&#xff1a; https://blog.csdn.net/iamxxdd/article/details/12386419…

Html + Express 实现大文件分片上传、断点续传、秒传

在日常的网页开发中&#xff0c;文件上传是一项常见操作。通过文件上传技术&#xff0c;用户可以将本地文件方便地传输到Web服务器上。这种功能在许多场景下都是必不可少的&#xff0c;比如上传文件到网盘或上传用户头像等。 然而&#xff0c;当需要上传大型文件时&#xff0c;…

人工智能的未来:Sam Altman 揭穿搜索引擎谣言,调侃 ChatGPT 和 GPT-4 的“神奇”更新

人工智能的未来&#xff1a;Sam Altman 揭穿搜索引擎谣言&#xff0c;调侃 ChatGPT 和 GPT-4 的“神奇”更新 概述 科技界充斥着有关人工智能研究先驱组织 OpenAI 将推出类似谷歌搜索引擎的传言。然而&#xff0c;首席执行官 Sam Altman 已经平息了这些谣言&#xff0c;并透露…

机器学习:葡萄酒品质预测

说明&#xff0c;此项目是我的期末大作业&#xff0c;包括了对数据集探索&#xff0c;预处理以及分类的各个详细过程与描述&#xff0c;代码简单&#xff0c;主要是一个分类项目的流程&#xff0c;并没有对模型进行深度研究&#xff0c;因此我写在这里。 目录 一、问题介绍 …

【Win10点击任务栏刷屏,卡死转圈(亲测有效)】

计算机疑难杂症001 Win10点击任务栏刷屏&#xff0c;卡死转圈(亲测有效)1、问题状况2、问题原因3、问题解决 Win10点击任务栏刷屏&#xff0c;卡死转圈(亲测有效) 1、问题状况 在偶然间&#xff0c;发现任务栏点不动了&#xff0c;点击无反应&#xff0c;再多点击几次&#x…

.[sqlback@memeware.net].2700勒索病毒如何防护和恢复数据?

.[sqlbackmemeware.net].2700介绍&#xff1a; .[sqlbackmemeware.net].2700 勒索病毒是一种恶意软件&#xff0c;它通过加密用户文件并索要赎金来实施勒索&#xff0c;快速恢复重要数据请添加技术服务号(safe130)。以下是关于这种勒索病毒的一些关键信息&#xff1a; 病毒性质…

通用人工智能AGI,究竟是一个哲学问题还是技术问题?

引言 在探索人工智能的未来方向中&#xff0c;人工通用智能&#xff08;AGI&#xff09;的概念逐渐成为科技领域和哲学探讨的焦点。AGI旨在创建可以执行任何智能任务的机器&#xff0c;甚至在某些方面超越人类的能力。然而&#xff0c;关于AGI的研究不仅仅是技术问题&#xff…

Rust读写CSV文件 一维Vec类型元素、二维Vec类型元素写入CSV文件

本文主要介绍Rust读写CSV文件方法&#xff0c; Vec类型元素基本操作方法&#xff0c;Rust把一维Vec类型元素、二维Vec类型元素写入CSV文件方法。 实例测试&#xff1a; 要求读“log.csv”文件数据&#xff0c;把“时间”列数据和“次数”列数据写入日志处理结果1.csv文件&…