我正在尝试为OpenShift 3.5编写模板。我遇到的问题是我的大多数参数通常都是相同的值,但因为它们通常不够相同(可能是20%的时间),我需要允许开发人员指定值每个参数。这里的问题是:有没有办法在OpenShift模板中进行某种参数扩展? Bash支持以下语法:${VAR1:-"SomeDefaultValue"}
。这样,如果未设置VAR1
,则它具有可以使用的默认值。我真正想做的是:${OPTIONAL_VARIABLE:-${REQUIRED_VARIABLE}}
。这样,如果已设置OPTIONAL_VARIABLE
,则会使用REQUIRED_VARIABLE
。否则,它将使用EasyMock
,开发人员必须填写该java.lang.IllegalStateException: 2 matchers expected, 3 recorded.
This exception usually occurs when matchers are mixed with raw values when recording a method:
foo(5, eq(6)); // wrong
You need to use no matcher at all or a matcher for every single param:
foo(eq(5), eq(6)); // right
foo(5, 6); // also right
。那么,有没有办法在OpenShift模板中执行此类操作或类似操作?
答案 0 :(得分:1)
在模板的参数中,指定默认的value
字段:
"parameters": [
{
"name": "APPLICATION_NAME",
"displayName": "Application instance name",
"description": "The name of the Wagtail instance",
"value": "wagtail",
"from": "[a-zA-Z0-9]{10}",
"required": true
},
如果您需要将随机值生成为默认值,请添加generate
和from
字段。使用expression
获取generate
的值,然后from
字段的值声明生成的值的格式。
{
"name": "DJANGO_ADMIN_PASSWORD",
"displayName": "Application admin user password",
"description": "Initial password for Wagtail admin user",
"generate": "expression",
"from": "[a-zA-Z0-9]{16}",
"required": true
},
请参阅以下文档。