利用OpenShift的ImageStream部署临时版本

server/2024/9/19 3:06:26/ 标签: openshift, CICD, image, maven, java, 部署

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

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

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

②登录

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

mavenOpenShift_15">③在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执行mavenbuild指令,注意指定配置的id,这里是dev-ocp4,oc:build是把构建好的项目以镜像的形式推上OpenShift。

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

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

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

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

⑦切换部署版本

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

⑧敲定版本,提交git

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


http://www.ppmy.cn/server/41911.html

相关文章

【AIGC调研系列】李开复的开源大模型Yi-1.5

李开复的开源大模型Yi-1.5是零一万物公司推出的一系列预训练和微调模型&#xff0c;包括6B、9B和34B三个版本[7][11][24]。这些模型采用Apache 2.0许可证&#xff0c;允许用户自由使用、修改和分发[7][24]。 Yi-1.5模型在编码、数学、推理和指令遵循能力方面相比前代模型有显著…

(五)JSP教程——response对象

response对象主要用于动态响应客户端请求&#xff08;request&#xff09;&#xff0c;然后将JSP处理后的结果返回给客户端浏览器。JSP容器根据客户端的请求建立一个默认的response对象&#xff0c;然后使用response对象动态地创建Web页面、改变HTTP标头、返回服务器端地状态码…

Ubuntu磁盘剩余空间不足,空间异常

近日发现用了3年的Ubuntu系统笔记本磁盘空间极度告急&#xff0c;上网搜了一下都是讲解如何扩容、如何重新挂载空间&#xff0c;但是博主发现/home目录明明分配了200G的空间&#xff0c;但是只剩下6G可用&#xff0c;查询所有的文件夹发现&#xff0c;所有文件加起来已使用50G左…

什么是Unreal Engine游戏引擎?它有什么优势?

大家好&#xff0c;我是咕噜土豆&#xff0c;很高兴又和大家见面了。在游戏开发行业中&#xff0c;选择合适的游戏引擎是非常重要的。其中&#xff0c;Unreal Engine作为一款功能强大的游戏引擎&#xff0c;在业界非常受欢迎。今天我带大家简单的了解一下。 什么是Unreal Engi…

android设计模式-原型设计(深、浅拷贝)

转https://www.jianshu.com/p/15bc149bd0af 前言 使用原形模式可以解决复杂对象构建资源消耗的问题 原形模式是一种创建型模式&#xff0c;原形模式多用于创建复杂对象或者构造耗时的实例。它的作用主要是"克隆"&#xff0c;用户从原形对象复制出一个内部属性一样的…

1-k8s常见注意事项

问题一&#xff1a;让master参与服务调度&#xff0c;不做control-plane&#xff0c;不设置可以吗 提问&#xff1a; 以下是让master参与服务调度&#xff0c;不做control-plane kubectl taint node k8s-01-master node-role.kubernetes.io/control-plane- kubectl label node…

什么是Serverless ?

目录&#xff1a; 1、服务器发展阶段 2、Serverless定义 3、Serverless理解

STL-string详解

string详解&#xff0c;文章内容值得认真研读&#xff1b;文章值得收藏回头复习&#xff1b;专栏值得订阅&#xff1b; C中string是标准库中一种容器,相当于保存元素类型为char的vector容器(自己理解),这个类提供了相当丰富的函数来完成对字符串操作,以及与C风格字符串之间转换…

2024年营销技术远景图发布:14,106种营销技术产品(同比增长27.8%)

每年五月的第一个星期二&#xff08;美国东部时间&#xff09;&#xff0c;Scott Brinker设定为Martech Day&#xff0c;以此来庆祝营销技术行业和所有有才华的营销技术专家和营销运营专业人士的工作&#xff0c;「为你们在开拓这片荒野所做的一切而欢呼&#xff01;」 同时&a…

D-Bus(TODO)

写不写看心情了。。。

git常用命令及其ignore文件

1.git本地操作命令 # 查看git的版本 git --version # 生成空的本地仓库 git init # 将文件添加到暂存区 git add 文件 # 将暂存区里的文件提交到本地仓库 git commit -m "描述"2.git远程仓库命令 # 添加远程仓库 git remote add origin http://192.168.1.130:9000/…

Docker快速搭建NAS服务——NextCloud

Docker快速搭建NAS服务——NextCloud 文章目录 前言NextCloud的搭建docker-compose文件编写运行及访问 总结 前言 本文主要讲解如何使用docker在本地快速搭建NAS服务&#xff0c;这里主要写如下两种&#xff1a; FileBrowser1&#xff1a;是一个开源的Web文件管理器&#xff…

JAVA毕业设计138—基于Java+Springboot+Vue的医院预约挂号小程序(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的医院预约挂号小程序(源代码数据库)138 一、系统介绍 本系统前后端分离带小程序和后台 小程序&#xff08;用户端&#xff09;&#xff0c;后台管理系统&a…

十二.吊打面试官系列-JVM优化-深入JVM内存模型

JVM内存模型 1.JVM的组成 整个JVM组成由 &#xff1a;运行时数据区 &#xff0c; 类加载子系统 &#xff0c; 执行引擎 &#xff0c; 本地方法库 几部分组成 上面是Java7的内存模型&#xff0c;Java8以后做了一些调整&#xff0c;把方法区变成了元空间&#xff0c;元空间不在…

领导者十二问答【关心部属、钦佩之意、不败、抱着当老二心情来当老大、用他人的长处、先赞成,后反对】

目录 领导出差不在如何管理&#xff1f; 当合作者做决策时候&#xff0c;没有跟你商量&#xff0c;如何处理&#xff1f; 处理人际关系&#xff0c;比较极端&#xff0c;如何调整&#xff1f; 未来管理的发展方向&#xff1f; 关于信心&#xff1f; 如何制定目标&#xff…

数据结构(二)关于空间的使用

数据结构&#xff08;二&#xff09;关于空间的使用 要点&#xff1a;解决问题的效率跟空间的利用效率有关 思考&#xff1a;如何空间的利用效率 01 如何空间的利用效率 参考&#xff1a;递归导致的栈溢出 Exception in thread "main" java.lang.StackOverflowE…

16:00面试,16:06就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

Linux备份---异地

参考文档&#xff1a;Linux环境实现mysql所在服务器定时同步数据文件到备份服务器&#xff08;异地容灾备份场景&#xff09;_mysql异地备份-CSDN博客 通过SSH进行连接&#xff1a; 应用服务器&#xff1a; 通过ssh-keygen -t rsay建立ssh通信的密钥 密钥建立后&#xff0c;…

阿里云 服务之前设置的密钥登陆,关闭了密码登录,现在打开密码登录

通过网页远程链接 切换用户 sudo -i 输入vim /etc/ssh/sshd_config 进入配置文件 找到 将这一项设置为yes 重启系统 systemctl restart sshd.service

某能源集团电力公司搭建数据报表中心,实现采集填报分析一体化

​在当今这个信息爆炸的时代&#xff0c;数据已成为企业最宝贵的财富&#xff0c;越来越多的企业开始重视数据的积累和归集。在企业日常生产和工作过程中&#xff0c;会产生绵延不断的数据&#xff0c;但这些数据往往没有统一的记录、归纳和整理&#xff0c;或者录入了系统却分…