在Azure-Pipelines.yml中使用AzureFileCopy任务输出

问题描述 投票:0回答:1

我试图从AzureFileCopy任务输出outputStorageUrioutputStorageContainerSasToken并在powershell脚本中使用它们,我想要实现的一个简单示例是:

pool:
  vmImage: 'VS2017-Win2016'

variables:
  Parameters.outputStorageUri: ''
  Parameters.outputStorageContainerSasToken: ''

steps:

- task: AzureFileCopy@3
  inputs:
    sourcePath: '$(Build.ArtifactStagingDirectory)\MyProgram.ext'
    azureSubscription: 'MyAzureServiceRole'
    Destination: 'AzureBlob'
    storage: 'myfilestorage'
    ContainerName: 'programs'
    outputStorageUri: '$(Parameters.outputStorageUri)'
    outputStorageContainerSasToken: '$(Parameters.outputStorageContainerSasToken)'
    sasTokenTimeOutInMinutes: 5
  displayName: Upload program to Blob storage


- task: PowerShell@2
  inputs:
      targetType: 'inline'
      script: |
          Write-Host 'URL = ' + $Env:PARAMETERS_OUTPUTSTORAGEURI
      errorActionPreference: 'stop'
      failOnStderr: 'false'
  displayName: Send storage URL to Logger(s)

正确复制文件,但outputStorageUri示例中的Write-Host始终为空!我也试过其他一些方法无济于事...请有人告诉我我做错了什么...

powershell azure-devops azure-pipelines-build-task
1个回答
0
投票

我们应该使用变量的名称,而不是任务中的变量值。

请将$(Parameters.outputStorageUri)更改为Parameters.outputStorageUri $(Parameters.outputStorageContainerSasToken)Parameters.outputStorageContainerSasToken,然后它就可以了。

outputStorageUri: Parameters.outputStorageUri
outputStorageContainerSasToken: Parameters.outputStorageContainerSasToken

enter image description here

有关更多信息,请参阅Azure File Copy

提供您要使用的输出变量的名称。

© www.soinside.com 2019 - 2024. All rights reserved.