You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从CICD流水线上传数据至存储账户并创建Blob

CICD流水线上传制品到Azure Blob存储操作方案

前置准备

  • 提前为CICD服务配置存储账户访问权限,推荐使用服务主体或者有容器上传权限的共享访问签名(SAS),所有敏感凭据存入对应CICD平台的加密凭据管理模块,禁止硬编码到流水线配置中。
  • 确保流水线运行节点可以连通存储账户的访问端点,公有云存储需要节点具备公网访问权限,私有存储需要打通对应内网链路。

通用实现方案(适配所有CICD平台)

最通用的方式是通过Azure CLI完成上传,绝大多数CICD平台的默认运行环境都预装了Azure CLI,无需额外安装依赖。

操作步骤

  1. 流水线执行时先通过存储凭据完成Azure账户认证
  2. 直接将待上传的JSON内容写入临时文件,或者通过标准输入管道直接上传

代码示例

无需生成临时文件的上传命令:

echo '{"mydata":"some stuff"}' | az storage blob upload \
  --account-name mystorageaccount \
  --container-name mystoragecontainer \
  --name fea8e047-0dc4-4f96-8499-aee5c3929be3.json \
  --file @-

如果需要先生成临时文件再上传,命令如下:

# 写入内容到本地临时文件
echo '{"mydata":"some stuff"}' > artifact_output.json
# 上传到指定Blob路径
az storage blob upload \
  --account-name mystorageaccount \
  --container-name mystoragecontainer \
  --name fea8e047-0dc4-4f96-8499-aee5c3929be3.json \
  --file artifact_output.json

认证方式可以根据配置选择,已经用服务主体登录Azure的场景添加--auth-mode login参数即可,使用存储账户密钥的场景将密钥存入环境变量AZURE_STORAGE_KEY即可自动读取。

主流CICD平台配置示例

GitHub Actions配置示例

- uses: azure/CLI@v1
  env:
    AZURE_STORAGE_KEY: ${{ secrets.AZURE_STORAGE_KEY }}
  with:
    inlineScript: |
      echo '{"mydata":"some stuff"}' | az storage blob upload \
        --account-name mystorageaccount \
        --container-name mystoragecontainer \
        --name fea8e047-0dc4-4f96-8499-aee5c3929be3.json \
        --file @-

Azure DevOps Pipelines配置示例

- task: AzureCLI@2
  inputs:
    azureSubscription: '预先配置的Azure服务连接名称'
    scriptType: 'bash'
    inlineScript: |
      echo '{"mydata":"some stuff"}' | az storage blob upload \
        --account-name mystorageaccount \
        --container-name mystoragecontainer \
        --name fea8e047-0dc4-4f96-8499-aee5c3929be3.json \
        --file @- \
        --auth-mode login

内容的提问来源于stack exchange,提问作者Alex Gordon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:15:06