Création d'un travail à partir d'images dans un registre public

Lorsque vous créez un travail, vous pouvez spécifier les informations de configuration de charge de travail qui sont utilisées à chaque fois que le travail est exécuté. Vous pouvez créer un travail à partir de la console ou avec l'interface de ligne de commande.

Création d'un travail à l'aide de la console

Créez un travail Code Engine à l'aide de l'image icr.io/codeengine/helloworld. Ce travail imprime Hello from helloworld! I'm a task job!.

  1. Ouvrez Code Engine.
  2. Sélectionnez « Commencer la création ».
  3. Sélectionnez un projet dans la liste des projets disponibles. Vous pouvez aussi en créer un. Notez que vous devez disposer d'un projet sélectionné pour créer un travail.
  4. Sélectionnez Travail.
  5. Entrez un nom pour le travail, par exemple myjob.
  6. Indiquez une image de conteneur pour votre travail, par exemple, icr.io/codeengine/helloworld. Si vous souhaitez convertir votre propre code source en image de conteneur pour le travail, voir Génération d'images de conteneur. Pour plus d'informations sur le code utilisé pour cet exemple, voir helloworld.
  7. Modifiez les valeurs par défaut des variables d'environnement ou des paramètres d'exécution. Pour plus d'informations sur ces options, voir Options de création et d'exécution d'un travail.
  8. Cliquez sur Créer.
  9. A partir de votre page de travail, lorsque votre travail est à l'étatready, cliquez sur Soumettre le travail pour soumettre un travail en fonction de la configuration en cours.
  10. Dans la sous-fenêtre de soumission du travail, acceptez toutes les valeurs par défaut et cliquez à nouveau sur Soumettre le travail pour exécuter votre travail.

Dans le volet « Soumettre une tâche », vous pouvez vérifier et, si vous le souhaitez, modifier les valeurs de configuration par défaut telles que le nombre d'instances, la puissance de calcul, la mémoire, le nombre de tentatives de réexécution et le délai d'expiration de la tâche. Vous pouvez spécifier la taille du tableau ou les index du tableau pour les instances de travail parallèle à exécuter. Dans le champ « Taille du tableau », indiquez le nombre d'instances à exécuter en parallèle pour cette tâche. Pour les index de tableau, indiquez une liste séparée par des virgules correspondant à votre ensemble personnalisé d'index. Par exemple, pour exécuter ce job avec un ensemble personnalisé d'index « 5 », spécifiez « 3,12-14,25 ». Vous pouvez également spécifier une valeur personnalisée pour la taille du tableau de travaux, qui met à jour la valeur de la variable d'environnement JOB_ARRAY_SIZE injectée automatiquement. Après soumission d'un travail, le système affiche le statut des instances de ce travail sur la page des détails du travail. Si vous indiquez la taille du tableau plutôt que ses indices dans le volet « Soumettre la tâche », dans la section « Configuration » de la page « Détails de la tâche », ces informations sont fournies sous forme d'indices de tableau.

Vous pouvez trouver des détails sur l'exécution de votre travail sur la page Statut d'un travail.

Création d'un travail via l'interface de ligne de commande

Pour créer une configuration de travail à l'aide de l'interface de ligne de commande, utilisez la commande job create. Cette commande requiert un nom et une image et admet d'autres arguments. Pour obtenir la liste complète des options, voir la commande ibmcloud ce job create.

Avant de commencer

La commande suivante job create crée une configuration de travail nommée myjob et utilise l'image de conteneur icr.io/codeengine/firstjob.

ibmcloud ce job create --name myjob  --image icr.io/codeengine/firstjob

Exemple de sortie

Creating job 'myjob'...
OK

Le tableau suivant récapitule les options utilisées avec la commande job create dans cet exemple. Pour plus d'informations sur la commande et ses options, voir la commande ibmcloud ce job create.

Options de commande
Option Description
--image Nom de l'image qui est utilisée pour les exécutions du travail. Cette valeur est obligatoire. Le format est REGISTRY/NAMESPACE/REPOSITORY:TAG, où REGISTRY et TAG sont facultatifs. Si TAG n'est pas spécifié, la valeur par défaut est latest. Pour les images hébergées sur Docker Hub, vous pouvez spécifier l'image à l'aide de NAMESPACE/REPOSITORY, car la valeur par défaut pour REGISTRY est docker.io. Pour les autres registres, utilisez REGISTRY/NAMESPACE/REPOSITORY ou REGISTRY/NAMESPACE/REPOSITORY:TAG.
--name Nom du travail. Utilisez un nom unique dans le projet. Cette valeur est requise.
-Le nom doit commencer et se terminer par un caractère alphanumérique en minuscules.
-Le nom doit contenir 63 caractères ou moins et peut contenir des lettres minuscules, des nombres et des traits d'union (-).

Etapes suivantes

  • Après avoir créé votre travail, soumettez le travail pour l'exécuter. Voir Exécution d'un travail. Vous pouvez exécuter votre travail plusieurs fois.

  • Après avoir exécuter votre travail, pour afficher les détails de votre travail et de vos exécutions de travail, voir Accès aux détails du travail.

  • Maintenant que votre travail est créé, envisagez de faire vos travaux en fonctions des événements. En utilisant des abonnements à des événements, vous pouvez déclencher vos travaux par des calendriers périodiques ou configurer votre travail pour qu'il réagisse à des événements comme des téléchargements de fichiers.

  • Vous pouvez mettre à jour votre travail et son code référencé avec n'importe quelle manières suivantes, indépendamment de la façon dont vous avez créé ou mis à jour votre travail.

    • Si vous disposez d'une image de conteneur conforme à la norme Open Container Initiative(OCI), il vous suffit de fournir une référence à cette image, qui pointe vers l'emplacement de votre registre de conteneurs, lorsque vous créez (ou mettez à jour) votre tâche. Vous pouvez créer (ou mettre à jour) votre tâche à partir d'images issues d'un registre public ou privé, puis accéder à l'image référencée depuis l'exécution de votre tâche.

      Si vous avez créé votre travail à l'aide de la commande job create et que vous avez spécifié l'option --build-source pour générer l'image de conteneur à partir de la source locale ou du référentiel, et que vous souhaitez modifier votre travail pour qu'il pointe vers une autre image de conteneur, vous devez d'abord supprimer l'association de la génération de votre travail. Par exemple, exécutez ibmcloud ce job update -n JOB_NAME --build-clear. Après avoir supprimé l'association de la génération de votre travail, vous pouvez mettre à jour le travail pour référencer une image différente.

    • Si vous démarrez avec le code source qui réside dans un référentiel Git, vous pouvez choisir de laisser Code Engine prendre soin de générer l'image à partir de votre source et de créer (ou de mettre à jour) le travail avec une opération unique. Dans ce scénario, Code Engine télécharge votre image sur IBM Cloud® Container Registry. Pour en savoir plus, reportez-vous à la section Création d'un travail à partir du code source du référentiel. Si vous souhaitez plus de contrôle sur la génération de votre image, vous pouvez choisir de générer l'image avec Code Engine avant de créer (ou mettre à jour) votre travail et d'exécuter le travail.

    • Si vous démarrez avec le code source résidant sur un poste de travail local, vous pouvez choisir de laisser Code Engine prendre soin de créer l'image à partir de votre source et de créer le travail avec une commande CLI unique. Dans ce scénario, Code Engine télécharge votre image sur IBM Cloud® Container Registry. Pour en savoir plus, reportez-vous à la section Création de votre travail à partir du code source local avec l'interface de ligne de commande. Si vous souhaitez plus de contrôle sur la génération de votre image, vous pouvez choisir de générer l'image avec Code Engine avant de créer (ou mettre à jour) votre travail et d'exécuter le travail.

    Par exemple, vous pouvez choisir de laisser Code Engine gérer la génération de votre source locale pendant que vous faites évoluer le développement de votre source pour le travail. Ensuite, après la maturation de l'image, vous pouvez mettre à jour le travail pour référencer l'image spécifique de votre choix. Vous pouvez répéter ce processus si nécessaire.

    Lorsque vous exécutez votre travail mis à jour, la dernière version de votre image de conteneur référencée est utilisée pour l'exécution du travail, sauf si une balise est spécifiée pour l'image. Si une balise est spécifiée pour l'image, l'image référencée est utilisée pour l'exécution du travail.

Vous recherchez d'autres exemples de code ? Découvrez le site Exemples pour le dépôt « IBM Cloud Code Engine GitHub ».