如何在PowerShell的Octopus Deploy中设置系统变量值

时间:2017-01-12 07:48:59

标签: octopus-deploy

我正在尝试为"运行脚本"中的内置发行说明变量赋值。步骤

$OctopusParameters["Octopus.Release.Notes"] = "Some release notes"

在下一步"发送电子邮件"我在电子邮件正文中使用此变量,但不幸的是它是空的。

<p>#{Octopus.Release.Notes}</p>

是否可以从PowerShell设置Octopus Deploy系统变量值并在下一步中使用它?

我正在使用Octopus Deploy 3.7.11。

修改

我也尝试了cmdlet Set-OctopusVariable,但它没有用。

Set-OctopusVariable -name "Octopus.Release.Notes" -value "Something"

2 个答案:

答案 0 :(得分:3)

我认为不可能覆盖Octopus Deploy提供的内置变量的值。但您可以定义自己的输出变量,并在以下步骤中引用它。例如,在“运行脚本”步骤中使用:

Set-OctopusVariable -name "MyReleaseNote" -value "Some text here"

然后“发送电子邮件”-step可以通过使用以下内容来引用此文本(假设第一步称为“FirstStep”):

#{Octopus.Action[FirstStep].Output.MyReleaseNote}

该变量也可以在其他步骤中从脚本中使用,然后使用语法:

$relnote = $OctopusParameters["Octopus.Action[FirstStep].Output.MyReleaseNote"]

(如果您想保存生成的发行说明,也许可以将其保存为项目中的“artifact”。

答案 1 :(得分:0)

我尝试使用Octoposh。修改现有变量的内容在Modifying Variables - Edit a variable of a Project/Library variable set的Octoposh wiki中有所介绍。

由于我们的网络超时,我无法让它工作,但它看起来应该有效 - 只是不像我预期的那样直截了当。