本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在本機建置和測試套件
在將套件發佈至 Amazon S3 或在截止日期雲端陣列上設定 CI/CD 自動化之前,您可以使用本機檔案系統頻道在工作站上建置和測試 conda 套件。此方法可讓您在配方上於本機快速迭代並驗證套件。
rattler-build publish 命令會建置配方、將產生的套件複製到頻道,並在一個步驟中為頻道編製索引。當您以本機檔案系統目錄為目標時,如果目錄不存在, 會自動rattler-build建立和初始化頻道。
下列指示使用來自 上 Deadline Cloud 範例儲存庫的 Blender4.5 範例配方。 https://github.com/aws-deadline/deadline-cloud-samples
先決條件
開始之前,請在工作站上安裝下列工具:
-
pixi – 用於安裝
rattler-build和測試套件的套件管理員。從 pixi.sh安裝 pixi。 -
rattler-build – Deadline Cloud conda 配方所使用的套件建置工具。安裝 pixi 之後,請執行下列命令來安裝
rattler-build。pixi global install rattler-build -
git – 複製範例儲存庫時需要。在 上Windows,適用於 的 git Windows
也提供 bashshell,其中一些Windows範例配方需要。
建置套件並將其發佈至本機頻道
在此程序中,您會複製截止日期雲端範例儲存庫,並使用 rattler-build publish來建置和發佈套件至本機檔案系統頻道。
注意
大型應用程式可能需要數十 GB 的可用磁碟空間,才能進行來源封存、解壓縮檔案和建置輸出。請確定您使用的磁碟有足夠的可用空間供套件建置輸出使用。
建置套件並將其發佈至本機頻道
-
複製截止日期雲端範例儲存庫。
git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
切換至
conda_recipes目錄。cd deadline-cloud-samples/conda_recipes -
執行下列命令來建置 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=+1rattler-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 專案。使用 專案從本機頻道安裝套件,並驗證其是否正常運作。
測試套件
-
建立暫時測試目錄,並使用本機頻道初始化 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 -
將套件新增至專案。
pixi add blender=4.5 -
驗證套件是否正常運作。
pixi run blender --versionpixi 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。列出這些子目錄的內容,以尋找您要移除之套件的確切檔案名稱。
清除
測試之後,您可以移除測試專案和本機頻道。
清除測試資源
-
移除測試專案目錄。
在 Linux和 macOS上執行下列命令。
rm -rf package-test-env在 Windows(cmd) 上執行下列命令。
rmdir /s /q package-test-env -
移除本機 conda 頻道目錄。
在 Linux和 macOS上執行下列命令。
rm -rf $HOME/my-conda-channel在 Windows(cmd) 上執行下列命令。
rmdir /s /q %USERPROFILE%\my-conda-channel -
(選用) 移除包含建置套件檔案的
rattler-build輸出目錄。在 Linux和 macOS上執行下列命令。
rm -rf deadline-cloud-samples/conda_recipes/output在 Windows(cmd) 上執行下列命令。
rmdir /s /q deadline-cloud-samples\conda_recipes\output