Automatisez la création de packages avec Deadline Cloud - Deadline Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Automatisez la création de packages avec Deadline Cloud

Pour les CI/CD flux de travail ou lorsque vous devez créer des packages pour plusieurs systèmes d'exploitation, vous pouvez créer une file d'attente de création de packages Deadline Cloud. Les plannings des files d'attente créent des tâches sur votre flotte, qui crée les packages et les publie sur votre canal conda Amazon Simple Storage Service (Amazon S3). Cela simplifie la gestion continue des compilations de packages pour les versions logicielles dans toutes les configurations requises.

Vous pouvez créer une file d'attente de création de packages à l'aide d'un modèle AWS CloudFormation (CloudFormation) ou manuellement depuis la console Deadline Cloud. Le CloudFormation modèle déploie un parc complet avec une file d'attente de production et une file d'attente de création de packages déjà configurées. La création de la file d'attente depuis la console vous permet de mieux contrôler les paramètres individuels.

Créez une file d'attente de création de packages avec CloudFormation

Vous pouvez utiliser un CloudFormation modèle pour créer une ferme Deadline Cloud qui inclut une file d'attente pour la création de packages. Le modèle configure une file d'attente de production et une file d'attente de création de packages avec un canal conda privé Amazon S3.

Avant de déployer le modèle, créez un compartiment Amazon S3 contenant les pièces jointes aux tâches et votre canal Conda. Vous pouvez créer un compartiment à partir de la console Amazon S3. Vous avez besoin du nom du compartiment lorsque vous déployez le modèle.

Pour déployer le CloudFormation modèle
  1. Téléchargez le modèle deadline-cloud-starter-farm-template.yaml depuis le référentiel d'exemples de Deadline Cloud sur. GitHub

  2. Dans la CloudFormation console, choisissez Create Stack, puis Avec de nouvelles ressources (standard).

  3. Sélectionnez l'option permettant de télécharger un fichier modèle, puis téléversez le deadline-cloud-starter-farm-template.yaml fichier.

  4. Entrez un nom pour la pile, par exempleStarterFarm, et fournissez le nom d'un compartiment Amazon S3 pour les pièces jointes aux tâches et le canal conda.

  5. Suivez les étapes de CloudFormation la console pour terminer la création de la pile.

Pour plus d'informations sur les paramètres du modèle et les options de personnalisation, consultez le fichier README de la ferme de démarrage dans le référentiel d'exemples de Deadline Cloud surGitHub.

Création d'une file d'attente pour la création de packages à partir de la console

Suivez les instructions de la section Création d'une file d'attente dans le guide de l'utilisateur de Deadline Cloud. Effectuez les modifications suivantes :

  • À l'étape 5, choisissez un compartiment Amazon S3 existant. Spécifiez un nom de dossier racine, de DeadlineCloudPackageBuild manière à ce que les artefacts de build restent séparés de vos pièces jointes habituelles de Deadline Cloud.

  • À l'étape 6, vous pouvez associer la file d'attente de création de packages à une flotte existante, ou vous pouvez créer une toute nouvelle flotte si votre flotte actuelle n'est pas adaptée.

  • À l'étape 9, créez un nouveau rôle de service pour votre file d'attente de création de packages. Vous allez modifier les autorisations pour donner à la file d'attente les autorisations requises pour télécharger des packages et réindexer un canal conda.

Configurer les autorisations de file d'attente de création du package

Pour permettre à la file d'attente de création du package d'accéder au /Conda préfixe du compartiment Amazon S3 de la file d'attente, vous devez modifier le rôle de la file d'attente pour lui donner read/write accès. Le rôle a besoin des autorisations suivantes pour que les tâches de création de packages puissent télécharger de nouveaux packages et réindexer le canal.

  • s3:GetObject

  • s3:PutObject

  • s3:ListBucket

  • s3:GetBucketLocation

  • s3:DeleteObject

  1. Ouvrez la console Deadline Cloud et accédez à la page de détails de la file d'attente de création du package.

  2. Choisissez le rôle du service de file d'attente, puis choisissez Modifier la file d'attente.

  3. Accédez à la section Rôle du service de file d'attente, puis choisissez Afficher ce rôle dans la console IAM.

  4. Dans la liste des politiques d'autorisation, choisissez celle qui convient AmazonDeadlineCloudQueuePolicyà votre file d'attente.

  5. Dans l'onglet Autorisations, choisissez Modifier.

  6. Ajoutez une nouvelle section au rôle de service de file d'attente comme suit. Remplacez amzn-s3-demo-bucket et 111122223333 par votre propre bucket et votre propre compte.

    { "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" } } },

Soumettre une tâche de création de package

Après avoir créé une file d'attente de création de packages et configuré les autorisations de file d'attente, vous pouvez soumettre des tâches pour créer des packages conda. Le submit-package-job script figurant dans le référentiel d'exemples de Deadline Cloud GitHub soumet une tâche de génération pour une recette de conda.

Vous avez besoin des éléments suivants :

Pour soumettre une tâche de création de package
  1. Ouvrez l'interface graphique de configuration de Deadline Cloud et définissez le parc et la file d'attente par défaut sur votre file d'attente de création de packages.

    deadline config gui
  2. Accédez au conda_recipes répertoire du référentiel d'échantillons.

    cd deadline-cloud-samples/conda_recipes
  3. Exécutez le submit-package-job script avec le répertoire des recettes. L'exemple suivant crée la recette Blender 4.5.

    ./submit-package-job blender-4.5/

    Si la recette nécessite une archive source que vous n'avez pas encore téléchargée, le script fournit des instructions de téléchargement. Téléchargez l'archive et réexécutez le script.

Après avoir soumis la tâche, utilisez le moniteur Deadline Cloud pour voir la progression et le statut de la tâche.

Le moniteur Deadline Cloud indiquant l'avancement et l'état d'avancement d'une tâche de création d'un package Conda.

Le moniteur montre les deux étapes de la tâche : créer le package, puis réindexer le canal Conda. Lorsque vous cliquez avec le bouton droit sur la tâche correspondant à l'étape de création du package et que vous choisissez Afficher les journaux, le moniteur affiche les actions de session :

  • Synchroniser les pièces jointes : copie les pièces jointes des tâches d'entrée ou monte un système de fichiers virtuel.

  • Lancez Conda — L'action relative à l'environnement de file d'attente. La tâche de construction ne spécifie pas les packages conda, cette action se termine donc rapidement.

  • Launch CondaBuild Env — Crée un environnement virtuel conda avec le logiciel nécessaire pour créer un package conda et réindexer un canal.

  • Exécution de la tâche — Construit le package et télécharge les résultats sur Amazon S3.

Au fur et à mesure que les actions s'exécutent, elles envoient des journaux à Amazon CloudWatch (CloudWatch). Lorsqu'une tâche est terminée, sélectionnez Afficher les journaux de toutes les tâches pour voir les journaux supplémentaires relatifs à la configuration et au démontage de l'environnement.