0

我想在组件流程中设置一个属性,该属性可在所有后续步骤、当前流程的其余部分以及从那里调用的所有其他流程中使用。

因此,在组件流程中,我使用Deploy Process 插件在父请求的范围内为属性设置值。这是插图:

Deploy Request
   Application Process: AppProcess1
      Install Component
         component name: Comp1
         component process: Comp1-Proc1

         Step 1: Set Process Request Property
            name: PROP_1
            value: val1
            process request id: ${p:parentRequest.id}

         Step 2: Shell
            Shell Script: echo ${p:PROP_1} --> Output: <empty-string>

         Step 3: Run Component Process
            component process: Comp1-Proc2

            Step 1: Shell
               Shell Script: echo ${p:PROP_1} --> Output: val1

         Step 4: Shell
            Shell Script: echo ${p:PROP_1} --> Output: val1

问题是当使用 ${p:PROP_1} 引用时,该值在当前进程 (Comp1-Proc1) 的步骤中不可用,除非调用另一个组件进程 (Comp1-Proc2),其中该值可用,并且然后返回第一个过程,当值也可用时。

难道我做错了什么?这是预期的行为吗?

我正在使用本地 UrbanCode Deploy - 版本 7.0.2.3.ifix01.1022337。我在官方 UCD 文档插件文档中都找不到任何可以解释上述行为的内容。

4

1 回答 1

0

尝试设置属性。通过这个,您可以扩展您正在设置的属性的范围。例如

申请流程1

第 1 步 - 外壳

Deploy Request
   Application Process: AppProcess1
      Install Component
         component name: Comp1
         component process: Comp1-Proc1
              Shell 1 - (here use Set Environment property)
      Install Component
         component name: Comp2
         component process: Comp2-Proc1
              Shell 1 - (here you can refer to it) ${p:YourEnvironmentName/YourPropertyname}

您只需要将属性的范围扩展到更高的级别

于 2020-12-29T11:20:03.823 回答