如何在openshift上修补上载的模板

如何在openshift上修补上载的模板,openshift,openshift-client-tools,Openshift,Openshift Client Tools,我有一个模板,已上载到openshift $ oc get templates | grep jenkins jenkins-mycompany Jenkins persistent image 9 (all set) 9 当我获取模板时,您可以看到设置的参数: $ oc get template jenkins-mycompany -o json 我正在创建一个CI过程来构建一个新的Jenkins图像并更新上传到OpenShift中的模板 我希望所有参数都设置好 我试过了 oc pr

我有一个
模板
,已上载到openshift

$ oc get templates | grep jenkins
jenkins-mycompany  Jenkins persistent image 9 (all set) 9 
当我获取模板时,您可以看到设置的参数:

$ oc get template jenkins-mycompany -o json

我正在创建一个CI过程来构建一个新的Jenkins图像并更新上传到OpenShift中的模板

我希望所有参数都设置好

我试过了

  • oc process-f deploy.yml--param file=my param file | oc create-f-
  • cat mydeploy.json|oc create-f-
  • 我唯一能让它工作的方法是执行一个oc delete templates jenkins mycompany,然后执行oc create-f deploy.yml

    我只想修补一个参数的值,所以当我构建
    2.0.0-19
    时,我只修补模板。

    您希望像这样使用patch命令:

    oc补丁-p

    比如说,


    oc补丁模板jenkins mycompany-p'{“spec”:{“unschedulable”:true}}

    为什么不将“jenkins mycompany:2.0.0-18”作为模板的一个参数,在处理它时需要提供它?@ptrk我希望设置参数,这样我的消费者只需要处理默认模板,它就可以开箱即用了。使用者可以覆盖参数。提供参数有两个级别。一个是模板本身,因此您可以使用默认值,并可以在处理模板时选择性地覆盖它。然后是可以再次覆盖的DeploymentConfig参数。因此,您可以让使用者处理默认值或覆盖。
    {
            "description": "Name of the ImageStreamTag to be used for the Jenkins image.",
            "displayName": "Jenkins ImageStreamTag",
            "name": "JENKINS_IMAGE_STREAM_TAG",
            "value": "jenkins-mycompany:2.0.0-18"
        }