我正在编写示例程序以使用configmap部署到Openshift中。我在源代码文件夹中有以下configmap yaml所以当设置devops时,Jenkins应该拿起这个yaml并创建/更新配置。
apiVersion: v1
kind: ConfigMap
metadata:
name: sampleapp
data:
username: usernameTest
password: passwordTest
但是,如果配置已经存在,我找不到创建/更新的命令(类似于kubectl apply命令)。如果第一次运行作业,你可以帮助使用正确的命令创建资源,否则更新。
我还想从src存储库中的yaml文件创建/更新服务,路由。
感谢。
答案 0 :(得分:1)
您可以使用“oc apply”命令更新已存在的资源。
如下例:
#oc process -f openjdk-basic-template.yml -p APPLICATION_NAME=spring-rest -p SOURCE_REPOSITORY_URL=https://github.com/rest.git -p CONTEXT_DIR='' | oc apply -f-
service "spring-rest" configured
route "spring-rest" created
imagestream "spring-rest" configured
buildconfig "spring-rest" configured
deploymentconfig "spring-rest" configured
答案 1 :(得分:0)
如果您在yaml文件中有configmap或存储在某个地方 您可以替换
oc replace --force -f config-map.yaml >>这将更新现有的configmap(它实际上会删除并创建一个新的configmap)
在此之后-我做到了 oc set env --from = configmap / example-cm dc / example-dc