2016-08-18 196 views
0

在我的Build流水线中,我使用了'AzureBlob文件复制'任务,将任意Web Deploy Zip文件上传到Azure Blob存储上。VSTS发布管理:如何将Azure Blob用作工件?

我想知道在发布管理中,如果可能的话,我如何从Azure Blob存储下载Zip文件并在我的发布管道中用作工件?

这是常见的做法吗?因为我想存储我的应用程序的不同版本。

回答

1

最佳实践通常是使用任务副本并上传工件,以便将工件附加到构建本身。
通过这种方式,您可以在发布定义中将其用于某处。
现在,如果您想在azure中进行某种归档,则可以同时执行这两项操作,如果需要对工件有一个url(例如,如果您正在部署ARM模板),那么上传到azure是最佳做法。
从技术上讲,你上传到天蓝色的部分应该在发布过程中完成,因为它更适合于构建。
所以回顾一下流程是build => artifact => release =>上传并部署到Azure。
我希望有帮助。

-1

您可以在构建定义添加一个“天青PowerShell的”任务从Azure的Blob中获取文件:

enter image description here

这是一个基本的Azure的PowerShell脚本从斑点可以用得到的文件in Release:

$SubscriptionName = "Subscription Name" 

$StorageAccountName = "Storage Account Name" 

$Location = "Storage Location" 

$ContainerName = "ContainerName" 

$DestinationFolder = $env:System_DefaultWorkingDirectory 

Set-AzureSubscription -CurrentStorageAccountName $StorageAccountName -SubscriptionName $SubscriptionName 

Get-AzureStorageBlob -Container $ContainerName 

$blobs = Get-AzureStorageBlob -Container $ContainerName 

New-Item -Path $DestinationFolder -ItemType Directory -Force 

$blobs | Get-AzureStorageBlobContent –Destination $DestinationFolder -Force 
+0

为什么在这里需要'-Destination $ env:System_DefaultWorkingDirectory'? PS脚本不应该从这个工作目录自动执行吗?这是一个错误? – letmaik