Création d'un travail à partir d'images dans un registre privé
Créez votre travail utilisant une image dans un registre privé tel qu'un Docker Hub privé. Vous pouvez créer un travail à partir de la console ou avec l'interface de ligne de commande.
Avant de commencer
- Pour extraire des images d'un registre privé, vous devez d'abord créer un registre privé. Par exemple, pour créer un registre Hub privé d' Docker, consultez la documentation relative à Docker Hub.
- Une fois que vous avez créé un registre privé, publiez-y une image.
- Vous pouvez également configurer un jeton d'accès. En utilisant un jeton d'accès, vous pourrez plus facilement octroyer et révoquer un accès à votre compte Docker Hub sans requérir un changement de mot de passe. Pour plus d'informations sur les jetons d'accès et Docker Hub, voir Créer et gérer des jetons d'accès.
Création d'un travail qui référence une image dans un registre privé avec la console
Créez une configuration de travail qui utilise une image dans un registre privé à l'aide de la console Code Engine.
Avant de pouvoir utiliser un travail Code Engine qui fait référence à une image dans un registre privé, vous devez d'abord ajouter l'accès au registre afin que Code Engine puisse extraire l'image lorsque le travail est exécuté.
- Ouvrez la console Code Engine.
- Sélectionnez « Commencer la création ».
- 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.
- Sélectionnez Travail.
- Entrez un nom pour le travail, par exemple
myjob. - Sélectionnez « Utiliser une image de conteneur existante », puis cliquez sur « Configurer l'image ».
- Entrez
docker.iocomme Serveur de registre. - Pour le secret de registre, sélectionnez « Créer un secret de registre ».
- Sur la page « Créer un secret de registre », sélectionnez votre source de registre. Par exemple, Docker Hub.
- Sur la page « Créer une clé de registre », saisissez un nom d'utilisateur. Pour Docker Hub, il s'agit de votre ID Docker.
- Sur la page « Créer un secret de registre », saisissez le jeton d'accès. Pour Docker Hub, vous pouvez utiliser votre mot de passe Docker Hub ou un jeton d'accès. Pour plus d'informations sur les jetons d'accès et Docker Hub, voir Créer et gérer des jetons d'accès.
- Cliquez sur « Créer » pour ajouter la clé de registre correspondant à Code Engine.
- Sur la page « Configurer l'image », le secret de registre qui a été ajouté apparaît dans la liste. Sélectionnez la clé de registre correspondant à votre image.
- Sélectionnez l'espace de nom et le nom de l'image dans Docker Hub pour le travail Code Engine à référencer. Par exemple, sélectionnez
mynamespaceet l'imagetestjobdans cet espace de nom. - Sélectionnez une valeur pour Balise, par exemple
latest. - Cliquez sur Terminé. Vous avez sélectionné votre image dans le registre à référencer à partir de votre travail.
- 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.
- Sur la page Créer un travail, cliquez sur Créer.
- Une fois votre travail créé, sa page s'affiche. Dans votre page de travail, cliquez sur Soumettre le travail pour soumettre un travail basé sur la configuration actuelle.
Pour ajouter un accès au registre avant que vous ne créez une configuration de travail, voir Accès aux registres de conteneurs.
Création d'un travail avec une image d'un registre privé via l'interface de ligne de commande
Pour créer une configuration de travail avec une image à partir d'un registre privé via 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
- Configurez votre environnement d'interface de ligne de commande Code Engine.
- Créez et utilisez un projet.
- Pour pouvoir utiliser un travail Code Engine qui fait référence à une image dans un registre privé, vous devez tout d'abord ajouter un accès au registre, extraire l'image, puis créer votre configuration de travail.
-
Pour extraire des images d'un registre privé, vous devez d'abord créer un registre privé. Par exemple, pour créer un registre Hub privé d' Docker, consultez la documentation relative à Docker Hub. Une fois que vous avez créé un registre privé, publiez-y une image. Vous pouvez également configurer un jeton d'accès. En utilisant un jeton d'accès, vous pourrez plus facilement octroyer et révoquer un accès à votre compte Docker Hub sans requérir un changement de mot de passe. Pour plus d'informations sur les jetons d'accès et Docker Hub, voir Créer et gérer des jetons d'accès.
-
Ajoutez l'accès à votre registre privé pour extraire des images. Pour ajouter un accès à un registre privé à l'aide de l'interface de ligne de commande, utilisez la commande
ibmcloud ce secret create --format registrypour créer un secret de registre. Par exemple, la commande suivante permet d'accéder au registre d'un hub « Docker » nommé «privatedocker», accessible à l'adressehttps://index.docker.io/v1/, en utilisant votre nom d'utilisateur et votre mot de passe.ibmcloud ce secret create --format registry --name privatedocker --server https://index.docker.io/v1/ --username <Docker_User_Name> --password <Password>Exemple de sortie
Creating registry secret 'privatedocker'... OK -
Créez votre configuration de travail et référencez l'image dans votre registre Docker Hub privé. Par exemple, créez la configuration de travail
mytestjobpour référencerdocker.io/privaterepo/testjobà l'aide des informations d'accès deprivatedocker.ibmcloud ce job create --name mytestjob --image docker.io/privaterepo/testjob --registry-secret privatedocker
Le format du nom de l'image pour ce travail est REGISTRY/NAMESPACE/REPOSITORY:TAG, où REGISTRY et TAG sont facultatifs. Si REGISTRY n'est pas spécifié, la valeur par défaut est docker.io.
Si TAG n'est pas spécifié, la valeur par défaut est latest.
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 createet que vous avez spécifié l'option--build-sourcepour 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écutezibmcloud 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 ».