在 Azure 中使用 AzureFileCopy 任务输出-Pipelines.yml
using AzureFileCopy task outputs in Azure-Pipelines.yml
我正在尝试从 AzureFileCopy 任务输出 outputStorageUri
和 outputStorageContainerSasToken
并在 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 始终为空!我也尝试了很多其他方法都无济于事...请有人告诉我我做错了什么...
我们应该使用变量的名称,而不是任务中的变量值。
请将$(Parameters.outputStorageUri)
改为Parameters.outputStorageUri
$(Parameters.outputStorageContainerSasToken)
到 Parameters.outputStorageContainerSasToken
,然后就可以了。
outputStorageUri: Parameters.outputStorageUri
outputStorageContainerSasToken: Parameters.outputStorageContainerSasToken
更多信息请参考Azure File Copy
provide the name of the output variable you would like to use.
有点相关,但如果您使用的是 V4,则这些可用作输出变量。
这在文档中没有,但在本期中突出显示。
https://github.com/microsoft/azure-pipelines-tasks/issues/13246
我正在尝试从 AzureFileCopy 任务输出 outputStorageUri
和 outputStorageContainerSasToken
并在 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 始终为空!我也尝试了很多其他方法都无济于事...请有人告诉我我做错了什么...
我们应该使用变量的名称,而不是任务中的变量值。
请将$(Parameters.outputStorageUri)
改为Parameters.outputStorageUri
$(Parameters.outputStorageContainerSasToken)
到 Parameters.outputStorageContainerSasToken
,然后就可以了。
outputStorageUri: Parameters.outputStorageUri
outputStorageContainerSasToken: Parameters.outputStorageContainerSasToken
更多信息请参考Azure File Copy
provide the name of the output variable you would like to use.
有点相关,但如果您使用的是 V4,则这些可用作输出变量。 这在文档中没有,但在本期中突出显示。
https://github.com/microsoft/azure-pipelines-tasks/issues/13246