gpt4 book ai didi

Azure DevOps Pipeline AZ CLI 批量上传不推送文件

转载 作者:行者123 更新时间:2023-12-03 01:27:19 25 4
gpt4 key购买 nike

我正在尝试为我们的单页 React 应用程序建立一个简单的 CI/CD 流程。 CI 已设置为 npm 构建 React 应用程序并将构建存档 (.zip) 发布到 $(Build.ArtifactStagingDirectory)。

enter image description here

enter image description here

然后触发 CD 过程,从工件 .zip 文件中提取构建版本,并利用 AZ CLI 任务将文件推送到托管静态网站的 Azure Blob 存储帐户。

enter image description here

enter image description here

部署成功完成,但没有文件发布到 Blob 存储帐户。我假设它与 AZ CLI 命令的 --source 标志有关,并尝试利用 $(Build.DefaultWorkingDirectory)/$(Build.BuildId) 环境变量作为源。

enter image description here

但这导致部署失败并出现以下错误。

The term 'Build.DefaultWorkingDirectory' is not recognized as the name of a cmdlet

我不确定 DevOps 目录的结构或 AZ CLI 如何通过 --source 标志与它们交互,但任何提示或建议将不胜感激。

最佳答案

The term 'Build.DefaultWorkingDirectory' is not recognized as the name of a cmdlet

由于您使用 CD Process 启动 azure cli 部署,因此您似乎正在使用发布管道

根据我的测试,我可以在发布管道中重现此问题。

此问题的根本原因是变量Build.DefaultWorkingDirectory无法在Release Pipeline中使用。

此变量只能在构建管道(CI 流程)中使用。

要解决此问题,您可以尝试使用变量:$(system.DefaultWorkingDirectory)

提取文件任务

enter image description here

Azure CLI 脚本示例:

az storage blob upload-batch --account-name $(Name) --account-key $(key) -s $(system.DefaultWorkingDirectory)/$(build.buildid) --pattern * -d xxx

这是关于 the variables in Release Pipeline 的文档.

另一方面,除了Azure Cli脚本之外,您还可以直接使用 Azure file copy task 。会更方便。

关于Azure DevOps Pipeline AZ CLI 批量上传不推送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65077673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com