【问题标题】:VSTS Copy File To Azure BlobVSTS 将文件复制到 Azure Blob
【发布时间】:2018-02-25 14:00:02
【问题描述】:

我正在使用 VSTS 为 iOS 构建我的 Xamarin Forms 应用程序 - 我已经得到它构建和发布工件。

目前我使用 Azure Blob 来托管 ipa - 我想在构建过程中添加一个步骤以复制到 blob。到目前为止,我已经尝试过:

  • Azure 文件复制
  • 卷曲
  • 复制文件(Azure 文件共享)

但是没有任何效果。有没有人有这个工作?

【问题讨论】:

  • 你可以使用 azure power shell 来做到这一点:docs.microsoft.com/en-us/azure/storage/files/…
  • 感谢您的回复,但我认为 Mac Build Agent 上没有 Powershell - 找不到受支持的任务执行处理程序。此错误通常意味着该任务没有执行与您当前操作系统兼容的实现。联系任务作者了解更多详情。

标签: azure azure-devops azure-pipelines-build-task


【解决方案1】:

使用 VSTS Shell Task 在 Macos 上运行将 .ipa 文件上传到 Blob 容器的脚本。下面是一个示例脚本。

请注意:

  • 脚本中所有大写字母变量的值都应由任务作为参数传递给脚本(因此您需要修复此示例脚本);
  • 需要在Macos机器上安装python3:homebrew install python3
  • 您需要安装适用于 Python 的 Azure SDK,尤其是: sudo pip3 install azure-storagesudo pip3 install table

示例脚本:

from azure.storage.blob import BlockBlobService
import tables
import os
import sys
from azure.storage.blob import PublicAccess
from azure.storage.blob import ContentSettings

output_blob_service=BlockBlobService(account_name=STORAGEACCOUNTNAME,account_key=STORAGEACCOUNTKEY)
localfileprocessed = os.path.join(os.getcwd(),LOCALFILENAME) #assuming file is in current working directory

try:
  output_blob_service.create_container(CONTAINERNAME, public_access=PublicAccess.Container)
  output_blob_service.create_blob_from_path(CONTAINERNAME,BLOBNAME, localfileprocessed,
    content_settings=ContentSettings(content_type='application/octet-stream'))

except:
  print ("Something went wrong with uploading to the blob:"+ BLOBNAME)

【讨论】:

    猜你喜欢
    • 2017-08-03
    • 2013-12-23
    • 2019-08-12
    • 2019-03-19
    • 2021-03-13
    • 2020-08-18
    • 1970-01-01
    • 2021-07-29
    • 2018-03-10
    相关资源
    最近更新 更多