如何在vsts发布任务中使用秘密变量?

时间:2017-08-09 14:09:18

标签: azure-devops

我在vsts中有一个发布定义,需要访问我在一个变量组中定义为秘密变量的密码。我已经将该组链接到此版本定义,但是当我运行任务时,参数结束为空白。我需要做些什么来获取秘密变量的值?

使用密码的powershell任务的定义

Task definition

链接变量组

Variable definition

错误输出:

2017-08-09T14:01:17.9262375Z ##[command].            'C:\agent_work\r1\a\$(AGENT.BUILDDIRECTORY)\RCV\deploys\common\Get-FromArtifactory.ps1' -repoUsername developer -repoPassword  -repoPath libs-snapshot-local
2017-08-09T14:01:18.8168538Z ##[error]C:\agent_work\r1\a\$(AGENT.BUILDDIRECTORY)\RCV\deploys\common\Get-FromArtifactory.ps1 : Missing an argument for parameter 'repoPassword'. Specify a parameter of type 'System.String' and try again.

根据要求编辑添加更多信息。

这是我的Get-FromArtifactory.ps1

的开头
[CmdletBinding()]
param (
    [Parameter(Mandatory)]
    [String]
    $repoUsername,

    [Parameter()]
    [String]
    $repoPassword,

    # Other params
)
#setup credentials object for arty access
$secPassword = $repoPassword | ConvertTo-SecureString -asPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($repoUsername, $secPassword)

编辑15/08/2017 - 我已根据@ Marina-MSFT的建议对其进行了更新,但它仍然只是空白。

修改后的脚本打印出部分密码:

[CmdletBinding()]
param (
    [Parameter(Mandatory)]
    [String]
    $repoUsername,

    [Parameter()]
    [String]
    $repoPassword,

#other params
)
write-host "pword $repoPassword"
write-host "1st char: $($repoPassword[0])"

enter image description here

2017-08-15T09:23:00.8606081Z ##[command]. 'C:\agent_work\r1\a\RCV\deploys\common\Get-FromArtifactory.ps1' -repoUsername developer -repoPassword "" -repoPath libs-snapshot-local -artifactName ipo-deposit-accounts_2.11 -artifactPath uk/gov/ipo -artifactVersion 0.1-SNAPSHOT -downloadDir C:\agent_work\r1\a
2017-08-15T09:23:02.3606174Z pword     
2017-08-15T09:23:02.3606174Z 1st char: 

与单引号相同 enter image description here

2017-08-15T09:22:10.6573655Z ##[command]. 'C:\agent_work\r1\a\RCV\deploys\common\Get-FromArtifactory.ps1' -repoUsername developer -repoPassword '' -repoPath libs-snapshot-local -artifactName ipo-deposit-accounts_2.11 -artifactPath uk/gov/ipo -artifactVersion 0.1-SNAPSHOT -downloadDir C:\agent_work\r1\a
2017-08-15T09:22:11.2198723Z pword 
2017-08-15T09:22:11.3761178Z 1st char: 

1 个答案:

答案 0 :(得分:3)

我现在已经开始工作,有两件事正在进行中。

  1. 有。以变​​量组中的秘密变量的名称 不起作用。我在另一个版本中重新创建了这个问题 定义/变量组。
  2. 即使我删除了。在我的变种中 我仍然需要重新创建变量组以使其工作。
  3. 问题的Bug。在此处引发变量名:post