Publication de conteneurs d'applications sur Amazon ECR - AWS RoboMaker

Avis de fin de support : le 10 septembre 2025, AWS le support de AWS RoboMaker. Après le 10 septembre 2025, vous ne pourrez plus accéder à la AWS RoboMaker console ni aux AWS RoboMaker ressources. Pour plus d'informations sur la transition AWS Batch afin de faciliter l'exécution de simulations conteneurisées, consultez ce billet de blog.

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.

Publication de conteneurs d'applications sur Amazon ECR

Les conteneurs utilisés parAWS RoboMaker dans le cadre d'une tâche de simulation doivent être stockés dans Amazon Elastic Container Registry (ECR), un registre de conteneurs entièrement géré. Une fois que vous avez créé avec succès vos conteneurs d'applications, vous devez les transmettre à Amazon ECR. Cette section vous montre comment le faire.

Pour commencer, vous pouvez éviter les saisies répétitives en définissant quelques variables d'environnement qui seront réutilisées dans les commandes suivantes.

export robotapp=robomaker-helloworld-robot-app export simapp=robomaker-helloworld-sim-app export account=<YOUR AWS ACCOUNT NUMBER> export region=<YOUR AWS REGION> export ecruri=$account.dkr.ecr.$region.amazonaws.com

Ensuite, connectez-vous et créez deux nouveaux référentiels.

aws ecr get-login-password --region $region | docker login --username AWS --password-stdin $ecruri aws ecr create-repository --repository-name $robotapp aws ecr create-repository --repository-name $simapp

Vous pouvez étiqueter vos images Docker avec l'URI du référentiel Amazon ECR.

docker tag $robotapp $ecruri/$robotapp:latest docker tag $simapp $ecruri/$simapp:latest

Transmission ensuite les images Docker vers Amazon ECR.

docker push $ecruri/$robotapp docker push $ecruri/$simapp

Enfin, vous pouvez confirmer que vos images ont été téléchargées sur Amazon ECR en exécutant les commandes suivantes.

aws ecr list-images --repository-name $simapp aws ecr list-images --repository-name $robotapp

L'extrait de code suivant illustre le résultat attendu :

Administrator:~/environment/helloworld (ros1) $ aws ecr list-images --repository-name $simapp { "imageIds": [ { "imageDigest": "sha256:28cad40230402343024kf303f30fk20f2f2fa0a8148", "imageTag": "latest" } ] } Administrator:~/environment/helloworld (ros1) $ aws ecr list-images --repository-name $robotapp { "imageIds": [ { "imageDigest": "sha256:28cad40230402343024kf303f30fk20f2f2fa0a8148", "imageTag": "latest" } ] }

Votre robot et vos images Docker de simulation sont désormais hébergés dans Amazon ECR. Vous devez associer ces images à une application robotique ou à une application de simulation avant de soumettre une tâche de simulation.

Exécution de versions d'applications

AWS RoboMaker prend en charge la création de plusieurs versions de vos applications robotiques et applications de simulation. Cela vous permet de vérifier le code utilisé par vos robots et vos simulations. Une version est un instantané numéroté de la version $LATEST de votre application. Vous pouvez créer une version à utiliser dans différentes parties de votre flux de travail de développement. Par exemple, le développement, le déploiement bêta ou la production.

Lorsque vous créez une version d'une application robotique AWS RoboMaker ou d'une application de simulation, vous créez un instantané de l'application. Amazon ECR utilise des résumés d'images pour indiquer la version de votre application. AWS RoboMakermémorise le condensé d'images pour chaque version.

Si vous avez chargé l'image sur Amazon ECR et que vous n'avez pas modifié le résumé de l'image, vous pouvez accéder à cette version de votre application et l'utiliser. Vous pouvez créer jusqu'à 40 versions par application.

Lorsque vous créez une image, vous pouvez également lui appliquer des balises. Vous pouvez spécifier la valeur du champ de balise commelatest pour la$LATEST version. Ces valeurs sont distinctes les unes des autres.

Une image peut obtenir lalatest balise de deux manières :

  • Vous avez spécifié une balise avec la valeur delatest.

  • Vous envoyez une image qui ne comporte pas de balises, auquel cas Amazon ECR met à jour l'image avec lalatest balise.

Lorsque vous spécifiez une balise pour une image dansAWS RoboMaker, l'image est toujours sélectionnée comme$LATEST version. Par exemple, si vous créez une application robot avec le nom de l'imagemyImage, la balisexyz et le résumé de l'image123, la$LATEST version estmyImage:xyz associée au résumé123.

Voici les scénarios dans lesquels vous devez ajouter une balise :

  • Vous mettez à jour la$LATEST version pour utiliser une nouvelle balise. Par exemple, si vous avez l'imagemyImage, vous pouvez mettre à jour votre image avec la baliseabc. La$LATEST version de l'image pointe versmyImage:abc.

  • Vous mettez à jour l'image et vous la retaggez. Par exemple, vous pouvez apporter des modifications à une image portant cette étiquetteabc. Vous pouvez utiliser la balisexyz après l'avoir mise à jour. La$LATEST version pointe versmyImage:xyz.

Pour plus d'informations, veuillez consulter Applications de gestion des versions.