從 Azure Artifacts 佇列發佈通用套件

Azure DevOps 服務

通用套件允許你儲存多種類型的檔案和套件內容,除了 NuGet、npm 和 Python 套件等格式之外。 你可以直接從命令列使用 Azure CLI 發佈它們。 通用套件最多可達 4 TiB,且必須包含名稱與版本。 本文說明如何將通用套件發佈到你的 Azure Artifacts 訂閱源。

先決條件

產品 需求
Azure DevOps - Azure DevOps 組織。
- Azure DevOps 項目。
- 安裝 Azure CLI。
- 安裝 Azure DevOps 擴充功能 0.14.0 版或更高版本。

安裝 Azure DevOps 擴充功能

Azure DevOps for Azure CLI 擴充功能讓你能從命令列管理 Azure DevOps 服務。 安裝前,請確定你已安裝 Azure CLI 2.10.1 或更高版本。

  1. 要安裝 Azure DevOps 擴充功能,請執行:

    az extension add --name azure-devops
    
  2. 要將現有安裝更新為最新版本,請執行:

    az extension update --name azure-devops
    

建立資訊流

在發佈通用套件之前,您需要先有一個可供發佈該套件的套件來源。 feed 是一個用來儲存和整理包裹的容器,你可以控制誰能存取這些包裹。 請依照以下步驟為您的專案或組織建立訂閱源。

  1. 登入您的 Azure DevOps 組織,並流覽至您的專案。

  2. 選取 [工件],然後選取 [建立動態消息]。

  3. 請輸入您的資訊流 名稱 。

  4. 選擇 可見性 選項,以控制誰可以檢視您的套件。

  5. 如果你想讓訂閱源同時拉取像 nuget.org 或 npmjs.com 這類公開來源的套件,請選擇「包含來自常見公開來源的套件」。

  6. 在 範圍中,選擇該訂閱源是只適用於您的專案,還是整個組織。

  7. 完成時,請選擇 建立。

    截圖顯示如何在 Azure DevOps Services 中建立新訂閱源。

發佈通用套件

建立好訂閱源後,你就可以發佈一個通用套件給它。 你發佈的每個套件都需要名稱和版本號,兩者都必須遵循特定的命名規則:

  • 套件名稱必須為小寫,開頭和結尾皆為字母或數字,且只能包含字母、數字及非連續的劃線(-)、底線(_)、或句點(.)。
  • 套件版本也必須使用小寫,且不得包含建置中繼資料;這可由 + 後綴表示。 欲了解更多資訊,請參閱 語意版本管理。
  1. 根據您的串流是針對專案還是組織,執行以下其中之一指令來發佈您的通用套件:

    • 專案範圍的動態消息:

      az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
      
    • 組織範圍的動態消息:

      az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
      

注意

如果你的套件包含異常大量的檔案(10 萬以上),發佈可能會失敗。 此時,將檔案打包成 ZIP 或 TAR 壓縮檔以減少檔案數量。

檢視已發佈的套件

發佈套件後,你可以確認它在你的動態中可用。

  1. 登入您的 Azure DevOps 組織,然後流覽至您的專案。

  2. 選取 工件,然後從下拉功能表中選取您的資訊流。 如果發佈成功完成,你的套件應該會在你的訂閱源中顯示。

    新發佈的通用套件截圖。