View a markdown version of this page

在本機建置和測試套件 - 截止日期雲端

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在本機建置和測試套件

在將套件發佈至 Amazon S3 或在截止日期雲端陣列上設定 CI/CD 自動化之前,您可以使用本機檔案系統頻道在工作站上建置和測試 conda 套件。此方法可讓您在配方上於本機快速迭代並驗證套件。

rattler-build publish 命令會建置配方、將產生的套件複製到頻道,並在一個步驟中為頻道編製索引。當您以本機檔案系統目錄為目標時,如果目錄不存在, 會自動rattler-build建立和初始化頻道。

下列指示使用來自 上 Deadline Cloud 範例儲存庫的 Blender4.5 範例配方。 https://github.com/aws-deadline/deadline-cloud-samples GitHub您可以取代與範例儲存庫不同的配方,或使用您自己的配方。

先決條件

開始之前,請在工作站上安裝下列工具:

  • pixi – 用於安裝rattler-build和測試套件的套件管理員。從 pixi.sh 安裝 pixi。

  • rattler-build – Deadline Cloud conda 配方所使用的套件建置工具。安裝 pixi 之後,請執行下列命令來安裝 rattler-build

    pixi global install rattler-build
  • git – 複製範例儲存庫時需要。在 上Windows,適用於 的 git Windows 也提供 bash shell,其中一些Windows範例配方需要。

建置套件並將其發佈至本機頻道

在此程序中,您會複製截止日期雲端範例儲存庫,並使用 rattler-build publish來建置和發佈套件至本機檔案系統頻道。

注意

大型應用程式可能需要數十 GB 的可用磁碟空間,才能進行來源封存、解壓縮檔案和建置輸出。請確定您使用的磁碟有足夠的可用空間供套件建置輸出使用。

建置套件並將其發佈至本機頻道
  1. 複製截止日期雲端範例儲存庫。

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  2. 切換至 conda_recipes 目錄。

    cd deadline-cloud-samples/conda_recipes
  3. 執行下列命令來建置 Blender 4.5 配方,並將套件發佈至本機頻道目錄。

    在 Linux和 macOS上執行下列命令。

    rattler-build publish blender-4.5/recipe/recipe.yaml \ --to file://$HOME/my-conda-channel \ --build-number=+1

    在 Windows(cmd) 上執行下列命令。

    rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to file://%USERPROFILE%/my-conda-channel ^ --build-number=+1

    rattler-build publish 命令會執行下列動作:

    • 從配方建置套件。

    • 如果目錄不存在,則建立頻道目錄。

    • 將套件檔案複製到頻道。

    • 為頻道編製索引,讓套件管理員可以找到套件。

    如果您的套件配方取決於來自特定頻道的套件,例如 conda-forge,請將 -c conda-forge新增至 命令。

關於組建編號

--build-number=+1 選項會根據目的地頻道中已存在的內容,自動挑選下一個建置編號。最佳實務是絕不覆寫頻道中的套件。如果套件具有相同的檔案名稱,則一律建置為新的組建編號。當您建置到生產頻道或反映生產的預備頻道時,使用 會--build-number=+1達成此目標。

如果您想要直接控制建置編號,您可以使用 等特定值來設定建置編號--build-number=7。如果您省略 選項, rattler-build會使用 recipe.yaml 檔案中定義的組建編號。

如需 的詳細資訊rattler-build publish,請參閱 rattler-build 發佈文件

偵錯組建

如果建置失敗, 會rattler-build保留建置目錄,以便您進行調查。執行下列命令,在建置環境中開啟互動式 Shell,並在建置期間設定所有環境變數。

rattler-build debug shell

從偵錯 shell,您可以修改檔案、執行個別建置命令,以及新增相依性來隔離問題。如需詳細資訊,請參閱 rattler-build 文件中的偵錯組建。

測試套件

在您建置和發佈套件之後,請建立臨時 pixi 專案。使用 專案從本機頻道安裝套件,並驗證其是否正常運作。

測試套件
  1. 建立暫時測試目錄,並使用本機頻道初始化 pixi 專案。

    在 Linux和 macOS上執行下列命令。

    mkdir package-test-env cd package-test-env pixi init --channel file://$HOME/my-conda-channel

    在 Windows(cmd) 上執行下列命令。

    mkdir package-test-env cd package-test-env pixi init --channel file://%USERPROFILE%/my-conda-channel
  2. 將套件新增至專案。

    pixi add blender=4.5
  3. 驗證套件是否正常運作。

    pixi run blender --version

    pixi run 命令會啟用專案目錄的 conda 環境,並在其中執行指定的命令。環境會保留在專案目錄中,因此您可以從其他終端機使用相同的pixi run命令。

當您對套件感到滿意時,您可以將套件發佈到 Amazon S3 Conda 頻道,以便截止日期雲端工作者可以安裝套件。請參閱將套件發佈至 S3 conda 頻道

從頻道移除套件

避免從用於生產的頻道中移除套件,因為 lockfiles 會依雜湊參考特定套件。移除套件可防止從這些 lockfile 重新建立環境。對於開發和測試頻道,您可以從頻道目錄中刪除.conda檔案,然後重新索引頻道,以移除特定套件。首先,安裝 rattler-index

pixi global install rattler-index

然後刪除套件檔案並重新索引頻道。

在 Linux和 macOS上執行下列命令。

rm $HOME/my-conda-channel/linux-64/blender-4.5.0-hb0f4dca_1.conda rattler-index fs $HOME/my-conda-channel

在 Windows(cmd) 上執行下列命令。

del %USERPROFILE%\my-conda-channel\win-64\blender-4.5.0-hb0f4dca_1.conda rattler-index fs %USERPROFILE%\my-conda-channel

套件檔案存放在平台特定的子目錄中linux-64,例如 win-64、 或 osx-arm64。列出這些子目錄的內容,以尋找您要移除之套件的確切檔案名稱。

清除

測試之後,您可以移除測試專案和本機頻道。

清除測試資源
  1. 移除測試專案目錄。

    在 Linux和 macOS上執行下列命令。

    rm -rf package-test-env

    在 Windows(cmd) 上執行下列命令。

    rmdir /s /q package-test-env
  2. 移除本機 conda 頻道目錄。

    在 Linux和 macOS上執行下列命令。

    rm -rf $HOME/my-conda-channel

    在 Windows(cmd) 上執行下列命令。

    rmdir /s /q %USERPROFILE%\my-conda-channel
  3. (選用) 移除包含建置套件檔案的rattler-build輸出目錄。

    在 Linux和 macOS上執行下列命令。

    rm -rf deadline-cloud-samples/conda_recipes/output

    在 Windows(cmd) 上執行下列命令。

    rmdir /s /q deadline-cloud-samples\conda_recipes\output