Octopus Deploy可以在变量中包含变量

时间:2017-01-11 01:15:10

标签: octopus-deploy

这是一个系统Octopus Deploy Variable:

#{Octopus.Action[Deploy To Server].Output.Package.InstallationDirectoryPath}

文本" 部署到服务器"是我的项目中将Nuget包部署到服务器的步骤的名称。此变量提供NugetPackage的安装位置。

我想知道我是否可以使这更通用:

#{Octopus.Action[#{DeploymentStep}].Output.Package.InstallationDirectoryPath}

#{DeploymentStep}本身是一个变量,其值为" Deploy to Server"?

我尝试了这个,当它试图运行时没有做替换。但我希望变量替换中的变量有不同的语法。

(我想这样做,所以我可以将它作为步骤模板的默认值。)

2 个答案:

答案 0 :(得分:3)

可以做到;但你需要使用稍微不同的语法!

变量替换语法: http://docs.octopusdeploy.com/display/OD/Variable+Substitution+Syntax

CASE

答案 1 :(得分:0)

刚刚遇到了同样的问题,但是通过一些测试,我发现它可以在1英寸的衬纸上工作。 您需要将内部变量用一美元括起来,并且需要将变量内的双引号更改为单引号,以便它不会抱怨引号不匹配。外部的双引号和内部的单引号。

下面的示例获取带有章鱼变量的步骤名称,以及在变量上运行以产生结果的机器名称:

$OctopusParameters["Octopus.Action[$($OctopusParameters['Octopus.Step.Name'])].Output[$($OctopusParameters['Octopus.Machine.Name'])].MyVarFromMachineFromStep"]