• 利用OpenShift的ImageStream部署临时版本


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

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

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

    ②登录

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

    ③在maven中配置OpenShift

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

            <profile>
                <id>dev-ocp4id>
                <properties>
                properties>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.springframework.bootgroupId>
                            <artifactId>spring-boot-maven-pluginartifactId>
                            <configuration>
                                <excludes>
                                    <exclude>
                                        <groupId>org.projectlombokgroupId>
                                        <artifactId>lombokartifactId>
                                    exclude>
                                excludes>
                            configuration>
                        plugin>
                        <plugin>
                            <groupId>org.eclipse.jkubegroupId>
                            <artifactId>openshift-maven-pluginartifactId>
                            <configuration>
                                <access>
                                    <namespace>dmg-sitnamespace>
                                    <masterUrl>https://api.ocp.xxxx.com:6443masterUrl>
                                    <apiVersion>v1apiVersion>
                                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.dmggroupId>
        <artifactId>dmg-xxx-apiartifactId>
        <version>1.2.1-SNAPSHOTversion>
        <name>dmg-courier-admin-apiname>
        <description>DM2.0 API xxx Portaldescription>
    

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

        <groupId>com.xxx.dmggroupId>
        <artifactId>dmg-xxx-apiartifactId>
        <version>1.2.1-ECHOO-TESTversion>
        <name>dmg-courier-admin-apiname>
        <description>DM2.0 API xxx Portaldescription>
    

    ⑤把版本推上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。
    最后记得把容器的部署版本设置回去。

  • 相关阅读:
    微信小程序中使用tabBar
    【面试题】什么是事务,什么是脏读、不可重复读、幻读,以及MySQL的几种事务隔离级别的应对方法
    ChatGPT在工业领域的研究与应用探索-数据与工况认知
    【蓝桥杯】赢球票(模拟、枚举、搜索)
    cesium 图形标注圆形、正方形、多边形、椭圆等
    史玉柱复出一年:巨人股权第三次被冻结,力推AI+游戏
    三个数的最大积(贪心法)
    UTF-8字符集成为Java 18默认字符集?发布周期将至,Java 18现身
    用servlet写一个hello word
    Apache Airflow 命令注入 (CVE-2020-11978)漏洞复现
  • 原文地址:https://blog.csdn.net/qq_31856061/article/details/138669886