Openshift Origin二次开发流程

概述

本文说openshift origin3.9的二次开发流程,其他版本没有亲测,操作上可能会有一些区别。以登陆页面的修改为例说明,登陆页面并不是单独的html页面,而是被嵌入在go代码中。在进行操作前要确保本地已经有openshift开发环境了,具体请查看系列其他文章。

正文

编辑相关代码

打开go代码:origin/pkg/oauthserver/server/login/templates.go
把其中的defaultLoginTemplateString内容修改为你需要的

生成openshift/origin-base , openshift/origin-source和openshift/origin-release三个镜像

cd origin
hack/env hack/build-base-images.sh

如果这一步之前做过就可以忽略,可以通过docker images查看,如果已经存在openshift/origin-source openshift/origin-base openshift/origin-release 这三个镜像这一步就可以忽略了

生成二进制文件,rpm包和各种镜像

cd origin
hack/env make release

如果你只想生成二进制文件,可以执行以下命令节约些时间

hack/env  OS_ONLY_BUILD_PLATFORMS='linux/amd64'  make build-cross

删除 tagged images

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

启动openshift集群,验证页面修改

oc cluster up --version="71543b2"

“71543b2”是本地镜像的tag,需要根据实际情况修改

把二进制文件origin/_output/local/bin/linux/amd64/openshift拷贝到三台master机器上/tmp目录下

在三台master机器上分别进行以下操作

停止api和controller服务

systemctl stop origin-master-api.service

systemctl stop origin-master-controllers.service

备份二进制文件openshift

cp /usr/bin/openshift /usr/bin/openshift.bak

替换二进制文件openshift

mv /tmp/openshift /usr/bin/openshift

启动api和controller服务

systemctl start origin-master-api.service

systemctl start origin-master-controllers.service

打开浏览器验证是否有效

猜你喜欢

转载自blog.csdn.net/haohzhang/article/details/86579662