代码之家  ›  专栏  ›  技术社区  ›  ssloan

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

  •  4
  • ssloan  · 技术社区  · 8 年前

    我在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-FromArtifictory.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)
    

    修改脚本以打印部分密码:

    [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 回复  |  直到 8 年前
        1
  •  5
  •   ssloan    8 年前

    我现在已经开始工作了,有两件事正在发生。

    1. 不起作用。我在另一个版本中重新创建了这个问题 定义/变量组。
    2. 我仍然需要重新创建变量组才能工作。

    https://developercommunity.visualstudio.com/content/problem/94475/secret-variable-in-variable-not-group-not-availabl.html

    推荐文章