[英]Azure DevOps Pipeline AZ CLI upload-batch not pushing files
我正在嘗試為我們的單頁 React 應用程序建立一個簡單的 CI/CD 流程。 CI 已設置為 npm 構建 React 應用程序並將構建存檔 (.zip) 發布到 $(Build.ArtifactStagingDirectory)。
然后觸發 CD 進程以從 artifact.zip 文件中提取構建,並利用 AZ CLI 任務將文件推送到托管 ZA81259CEF8E959C62971D456E53 網站的 Azure Blob 存儲帳戶。
部署成功完成,但沒有文件發布到 blob 存儲帳戶。 我假設它與 AZ CLI 命令的 --source 標志有關,並嘗試使用 $(Build.DefaultWorkingDirectory)/$(Build.BuildId) 環境變量作為源。
但是,這會導致部署失敗並出現以下錯誤。
The term 'Build.DefaultWorkingDirectory' is not recognized as the name of a cmdlet
我不確定 DevOps 目錄的結構或 AZ CLI 如何通過 --source 標志與它們交互,但任何提示或建議將不勝感激。
術語“Build.DefaultWorkingDirectory”未被識別為 cmdlet 的名稱
由於您正在使用 CD Process 來啟動 azure cli 部署,因此您似乎正在使用Release Pipeline 。
根據我的測試,我可以在 Release Pipeline 中重現此問題。
此問題的根本原因是無法在 Release Pipeline 中使用變量Build.DefaultWorkingDirectory
。
此變量只能在構建管道(CI 流程)中使用。
要解決此問題,您可以嘗試使用變量: $(system.DefaultWorkingDirectory)
。
提取文件任務
Azure CLI 腳本示例:
az storage blob upload-batch --account-name $(Name) --account-key $(key) -s $(system.DefaultWorkingDirectory)/$(build.buildid) --pattern * -d xxx
這是有關Release Pipeline 中變量的文檔。
另一方面,除了 Azure Cli 腳本外,還可以直接使用Azure 文件復制任務。 會更方便。
第一:參考DevOps 目錄結構。
第二:您可以檢查 DevOps 中的工件: 您將看到如下所示的頁面。 將工件下載到本地以查看詳細信息:
最后,如果您對此非常陌生,請觀看有關將 React 應用程序部署到 Azure的視頻。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.