View a markdown version of this page

Cree y pruebe paquetes localmente - Nube de plazos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree y pruebe paquetes localmente

Antes de publicar paquetes en Amazon S3 o configurar la CI/CD automatización en su granja de Deadline Cloud, puede crear y probar paquetes conda en su estación de trabajo mediante un canal de sistema de archivos local. Este enfoque le permite iterar rápidamente las recetas a nivel local y verificar los paquetes.

El rattler-build publish comando crea una receta, copia el paquete resultante en un canal e indexa el canal en un solo paso. Cuando se dirige a un directorio del sistema de archivos local, rattler-build crea e inicializa el canal automáticamente si el directorio no existe.

Las siguientes instrucciones utilizan la receta de ejemplo Blender 4.5 del repositorio de muestras de Deadline Cloud en adelante. GitHub Puedes sustituirla por una receta diferente del repositorio de muestras o usar la tuya propia.

Requisitos previos

Antes de empezar, instale las siguientes herramientas en su estación de trabajo:

  • pixi: un administrador de paquetes que se utiliza para instalar rattler-build y probar paquetes. Instala pixi desde pixi.sh.

  • rattler-build: la herramienta de creación de paquetes utilizada por las recetas conda de Deadline Cloud. Después de instalar pixi, ejecuta el siguiente comando para instalarlo. rattler-build

    pixi global install rattler-build
  • git: necesario para clonar el repositorio de muestras. SíWindows, git for Windows también proporciona un bash intérprete de comandos, que requieren algunas de las recetas de Windows muestra.

Crear y publicar un paquete en un canal local

En este procedimiento, se clona el repositorio de muestras de Deadline Cloud y se utiliza rattler-build publish para crear y publicar el paquete en un canal del sistema de archivos local.

nota

Las aplicaciones de gran tamaño pueden requerir decenas de GB de espacio libre en disco para el archivo de origen, los archivos extraídos y la generación de resultados. Asegúrese de utilizar un disco con suficiente espacio disponible para el resultado de la compilación del paquete.

Para crear y publicar un paquete en un canal local
  1. Clona el repositorio de muestras de Deadline Cloud.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git
  2. Cambie al directorio de conda_recipes.

    cd deadline-cloud-samples/conda_recipes
  3. Ejecute el siguiente comando para crear la receta Blender 4.5 y publicar el paquete en un directorio de canales local.

    LinuxActiva macOS y ejecuta el siguiente comando.

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

    En Windows (cmd), ejecute el siguiente comando.

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

    El rattler-build publish comando realiza las siguientes acciones:

    • Construye el paquete a partir de la receta.

    • Crea el directorio de canales si el directorio no existe.

    • Copia el archivo del paquete en el canal.

    • Indexa el canal para que los administradores de paquetes puedan encontrarlo.

    Si la receta de su paquete depende de los paquetes de un canal en particular, como conda-forge, añada -c conda-forge al comando.

Acerca de los números de compilación

La --build-number=+1 opción selecciona automáticamente el siguiente número de compilación en función de lo que ya existe en el canal de destino. La mejor práctica es no sobrescribir nunca un paquete en un canal. Cree siempre con un número de compilación nuevo si, de lo contrario, el paquete tendría el mismo nombre de archivo. El uso lo --build-number=+1 consigue cuando se crea un canal de producción o un canal provisional que refleja la producción.

Si desea controlar el número de compilación directamente, puede configurarlo con un valor específico, como--build-number=7. Si omite la opción, rattler-build utiliza el número de compilación definido en el recipe.yaml archivo.

Para obtener más información al respectorattler-build publish, consulte la documentación de publicación de rattler-build.

Depuración de compilaciones

Si una compilación falla, rattler-build conserva el directorio de compilación para que puedas investigarlo. Ejecuta el siguiente comando para abrir un shell interactivo en el entorno de compilación con todas las variables de entorno configuradas tal y como estaban durante la compilación.

rattler-build debug shell

Desde el shell de depuración, puedes modificar archivos, ejecutar comandos de compilación individuales y añadir dependencias para aislar el problema. Para obtener más información, consulta la sección Depuración de compilaciones en la documentación de rattler-build.

Probando el paquete

Después de crear y publicar el paquete, crea un proyecto pixi temporal. Utilice el proyecto para instalar el paquete desde el canal local y comprobar que funciona correctamente.

Para probar el paquete
  1. Cree un directorio de prueba temporal e inicialice un proyecto pixi con el canal local.

    Active Linux y ejecute macOS los siguientes comandos.

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

    En Windows (cmd), ejecute los siguientes comandos.

    mkdir package-test-env cd package-test-env pixi init --channel file://%USERPROFILE%/my-conda-channel
  2. Añada el paquete al proyecto.

    pixi add blender=4.5
  3. Compruebe que el paquete funciona correctamente.

    pixi run blender --version

    El pixi runcomando activa el entorno conda para el directorio del proyecto y ejecuta el comando especificado en él. El entorno permanece en el directorio del proyecto, por lo que puede utilizar el mismo pixi run comando desde otros terminales.

Cuando esté satisfecho con el paquete, puede publicarlo en un canal conda de Amazon S3 para que los trabajadores de Deadline Cloud puedan instalarlo. Consulte Publicar paquetes en un canal conda de S3.

Eliminar paquetes del canal

Evite eliminar paquetes de los canales que utiliza para la producción, ya que los archivos de bloqueo hacen referencia a paquetes específicos mediante un hash. Al eliminar un paquete, se impide volver a crear entornos a partir de esos archivos de bloqueo. En el caso de los canales de desarrollo y prueba, puede eliminar un paquete específico eliminando el .conda archivo del directorio del canal y, a continuación, volviendo a indexar el canal. Primero, instálalo. rattler-index

pixi global install rattler-index

A continuación, elimine el archivo del paquete y vuelva a indexar el canal.

Active Linux y macOS ejecute los siguientes comandos.

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

En Windows (cmd), ejecute los siguientes comandos.

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

Package files se almacenan en subdirectorios específicos de la plataforma, comolinux-64, o. win-64 osx-arm64 Enumere el contenido de estos subdirectorios para encontrar el nombre exacto del paquete que desea eliminar.

Limpieza

Tras la prueba, puede eliminar el proyecto de prueba y el canal local.

Para limpiar los recursos de prueba
  1. Elimine el directorio del proyecto de prueba.

    Active Linux y macOS ejecute el siguiente comando.

    rm -rf package-test-env

    En Windows (cmd), ejecute el siguiente comando.

    rmdir /s /q package-test-env
  2. Elimine el directorio de canales conda local.

    Active Linux y macOS ejecute el siguiente comando.

    rm -rf $HOME/my-conda-channel

    En Windows (cmd), ejecute el siguiente comando.

    rmdir /s /q %USERPROFILE%\my-conda-channel
  3. (Opcional) Elimine el directorio rattler-build de salida que contiene el archivo del paquete creado.

    Active Linux y macOS ejecute el siguiente comando.

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

    En Windows (cmd), ejecute el siguiente comando.

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