簡體   English   中英

Azure DevOps Pipeline AZ CLI 上傳-批處理不推送文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM