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

相关推荐

  1. openshift和k8s差别

    2024-05-11 07:50:12       12 阅读
  2. 基于 debian 12 利用 kubeadm 部署 k8s 1.29 版本

    2024-05-11 07:50:12       10 阅读
  3. 部署sql版本维护

    2024-05-11 07:50:12       22 阅读
  4. 22.Oracle中临时表空间

    2024-05-11 07:50:12       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-11 07:50:12       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-11 07:50:12       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-11 07:50:12       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-11 07:50:12       18 阅读

热门阅读

  1. 【Linux】如何查看Linux命令的使用方法

    2024-05-11 07:50:12       15 阅读
  2. SpringBoot MockMvc

    2024-05-11 07:50:12       9 阅读
  3. 【Redis7】10大数据类型之HyperLogLog类型

    2024-05-11 07:50:12       9 阅读
  4. 概率论学习-笔记1

    2024-05-11 07:50:12       11 阅读
  5. C++语法|可调用对象和函数对象

    2024-05-11 07:50:12       9 阅读