View a markdown version of this page

Automatice la creación de paquetes con Deadline Cloud - Deadline Cloud

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.

Automatice la creación de paquetes con Deadline Cloud

Para CI/CD los flujos de trabajo o cuando necesite crear paquetes para varios sistemas operativos, puede crear una cola de creación de paquetes de Deadline Cloud. Los cronogramas de espera generan trabajos en tu flota, los cuales crean los paquetes y los publican en tu canal conda de Amazon Simple Storage Service (Amazon S3). Esta automatización simplifica el mantenimiento de la creación continua de paquetes para las versiones de software en todas las configuraciones necesarias.

Puede crear una cola de creación de paquetes mediante una plantilla AWS CloudFormation (CloudFormation) o manualmente desde la consola de Deadline Cloud. La CloudFormation plantilla implementa una granja completa con una cola de producción y una cola de creación de paquetes ya configuradas. Al crear la cola desde la consola, tendrá más control sobre los ajustes individuales.

Cree una cola de creación de paquetes con CloudFormation

Puedes usar una CloudFormation plantilla para crear una granja de Deadline Cloud que incluya una cola de creación de paquetes. La plantilla configura una cola de producción y una cola de creación de paquetes con un canal conda privado de Amazon S3.

Antes de implementar la plantilla, cree un bucket de Amazon S3 para almacenar los archivos adjuntos de los trabajos y su canal conda. Puede crear un bucket desde la consola de Amazon S3. Necesitará el nombre del bucket al implementar la plantilla.

Para implementar el CloudFormation plantilla
  1. Descarga la plantilla https://github.com/aws-deadline/deadline-cloud-samples/raw/mainline/cloudformation/farm_templates/starter_farm/deadline-cloud-starter-farm-template.yaml deadline-cloud-starter-farm-template.yaml del repositorio de muestras de Deadline Cloud en. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/starter_farm GitHub

  2. En la CloudFormation consola, selecciona Create Stack y, a continuación, Con nuevos recursos (estándar).

  3. Selecciona la opción para subir un archivo de plantilla y, a continuación, sube el deadline-cloud-starter-farm-template.yaml archivo.

  4. Introduzca un nombre para la pila, por ejemploStarterFarm, y proporcione el nombre de un bucket de Amazon S3 para los archivos adjuntos de tareas y el canal conda.

  5. Siga los pasos de la CloudFormation consola para completar la creación de la pila.

Para obtener más información sobre los parámetros de las plantillas y las opciones de personalización, consulta el archivo README de Starter Farm en el repositorio de muestras de Deadline Cloud enGitHub.

Crea una cola de creación de paquetes desde la consola

Siga las instrucciones que aparecen en la Guía del usuario de Deadline Cloud para crear una cola. Realice los siguientes cambios:

  • En el paso 5, elija un bucket de Amazon S3 existente. Especifique un nombre para la carpeta raíz, por ejemploDeadlineCloudPackageBuild, para que los artefactos de compilación permanezcan separados de sus archivos adjuntos normales de Deadline Cloud.

  • En el paso 6, puede asociar la cola de creación de paquetes a una flota existente o puede crear una flota completamente nueva si la flota actual no es adecuada.

  • En el paso 9, crea un nuevo rol de servicio para la cola de creación de paquetes. Modificarás los permisos para dar a la cola los permisos necesarios para cargar paquetes y volver a indexar un canal de conda.

Configure los permisos de la cola de creación de paquetes

Para permitir que la cola de creación de paquetes acceda al /Conda prefijo del bucket de Amazon S3 de la cola, debe modificar el rol de la cola para concederle acceso. read/write El rol necesita los siguientes permisos para que los trabajos de creación de paquetes puedan cargar paquetes nuevos y volver a indexar el canal.

  • s3:GetObject

  • s3:PutObject

  • s3:ListBucket

  • s3:GetBucketLocation

  • s3:DeleteObject

  1. Abra la consola de Deadline Cloud y navegue hasta la página de detalles de la cola de creación del paquete.

  2. Elige el rol del servicio de colas y, a continuación, elige Editar cola.

  3. Desplázate hasta la sección Función de servicio de cola y, a continuación, selecciona Ver esta función en la consola de IAM.

  4. En la lista de políticas de permisos, elige la AmazonDeadlineCloudQueuePolicy para tu cola.

  5. En la pestaña Permisos, selecciona Editar.

  6. Agregue una nueva sección a la función de servicio de colas, como la siguiente. Sustituye amzn-s3-demo-bucket y 111122223333 por tu propio depósito y cuenta.

    { "Effect": "Allow", "Sid": "CustomCondaChannelReadWrite", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/Conda/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "111122223333" } } },

Envía un trabajo de creación de paquetes

Después de crear una cola de creación de paquetes y configurar los permisos de la cola, puede enviar trabajos para crear paquetes de conda. El submit-package-job script que se encuentra en el repositorio de muestras de Deadline Cloud GitHub envía un trabajo de compilación para una receta de conda.

Necesitará lo siguiente:

Para enviar un trabajo de creación de paquetes
  1. Abre la GUI de configuración de Deadline Cloud y establece la granja y la cola predeterminadas para tu cola de creación de paquetes.

    deadline config gui
  2. Cambie al conda_recipes directorio del repositorio de muestras.

    cd deadline-cloud-samples/conda_recipes
  3. Ejecute el submit-package-job script con el directorio de recetas. El siguiente ejemplo crea la receta Blender 4.5.

    ./submit-package-job blender-4.5/

    Si la receta requiere un archivo fuente que aún no haya descargado, el script proporciona instrucciones de descarga. Descargue el archivo y vuelva a ejecutar el script.

Después de enviar el trabajo, utilice el monitor de Deadline Cloud para ver el progreso y el estado del trabajo.

El monitor de Deadline Cloud muestra el progreso y el estado de una tarea que está creando un paquete conda.

El monitor muestra los dos pasos del trabajo: crear el paquete y, a continuación, volver a indexar el canal conda. Al hacer clic con el botón derecho en la tarea correspondiente al paso de creación del paquete y seleccionar Ver registros, el monitor muestra las acciones de la sesión:

  • Sincronizar archivos adjuntos: copia los archivos adjuntos del trabajo de entrada o monta un sistema de archivos virtual.

  • Inicie conda: la acción del entorno de colas. El trabajo de compilación no especifica los paquetes de conda, por lo que esta acción finaliza rápidamente.

  • Launch CondaBuild Env: crea un entorno virtual de conda con el software necesario para crear un paquete de conda y reindexar un canal.

  • Ejecución de la tarea: crea el paquete y carga los resultados en Amazon S3.

A medida que se ejecutan las acciones, envían los registros a Amazon CloudWatch (CloudWatch). Cuando se complete un trabajo, selecciona Ver los registros de todas las tareas para ver los registros adicionales sobre la configuración y el desmontaje del entorno.