从Octopus获取用户变量列表

时间:2015-08-10 15:56:13

标签: octopus-deploy

我们有Octopus-2.0。 我们在octopus用户变量中存储了服务凭证(它们是每台机器)。 我还需要在SQL服务器中创建这些登录。

示例服务登录名“machine1_service1”存储为变量名称。该登录的密码和密码存储在章鱼的变量值列中。

到目前为止,我知道对于章鱼中的任何变量值,我们需要提供精确的变量名称。但在这种情况下,我实际上需要得到所有这些变量的列表。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:7)

可以从可枚举的字典对象访问八达通变量。如果您遵循命名约定,则可以使用PowerShell查询字典,如下所示。这可以在自定义步骤中调用,也可以在您可以编写自己的PowerShell的地方调用,例如 .nuget 文件中的PostDeploy.ps1脚本

假设变量是这样定义的

enter image description here

你可以使用这个powershell来获取它们并枚举它们

# Get service accounts
$serviceAccounts = $OctopusParameters.keys | ? {$_ -like "service-*"}
write-host "Accounts found:" $serviceAccounts.count

foreach($account in $serviceAccounts)
{
    write-host "Account: $account"

    $password = $OctopusParameters[$account]
    write-host "Password: $password"
}

希望这有帮助。