这是一个系统Octopus Deploy Variable:
#{Octopus.Action[Deploy To Server].Output.Package.InstallationDirectoryPath}
文本" 部署到服务器"是我的项目中将Nuget包部署到服务器的步骤的名称。此变量提供NugetPackage的安装位置。
我想知道我是否可以使这更通用:
#{Octopus.Action[#{DeploymentStep}].Output.Package.InstallationDirectoryPath}
#{DeploymentStep}本身是一个变量,其值为" Deploy to Server"?
我尝试了这个,当它试图运行时没有做替换。但我希望变量替换中的变量有不同的语法。
(我想这样做,所以我可以将它作为步骤模板的默认值。)
答案 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"]