Mise à jour de votre application
Une application contient une ou plusieurs révisions. Une révision représente une version non modifiable des propriétés de configuration de l'application. Chaque mise à jour d'une propriété de configuration d'application crée une nouvelle révision de l'application.
Lorsque vous modifiez une application et que vous déployez l'application avec les modifications ou que vous redéployez l'application sans modifier ses paramètres de configuration, ces actions déploient une nouvelle révision de l'application. Lorsque vous déployez (ou redéployez) une révision d'application, Code Engine utilise tous les paramètres de configuration modifiés et obtient toute image de conteneur, valeur confidentielle ou mappe de configuration mise à jour référencée par l'application.
Pour plus d'informations sur le déploiement d'applications, telles que la spécification de combinaisons vCPU et mémoire valides, la définition de commandes et d'arguments, de variables d'environnement, de secrets ou de mappes de configuration, voir Options de déploiement d'une application.
Code Engine applique un quota pour le nombre d'applications et de révisions d'application dans un projet. Pour plus d'informations sur les limites des projets, voir Quotas de projet de. Code Enginequi ne conserve que la dernière révision inactive de votre application en plus de votre révision d'application active. Les révisions plus anciennes sont supprimées.
Vous pouvez mettre à jour votre application déployée et son code référencé avec n'importe quelles des manières suivantes, indépendamment de la façon dont vous avez créé ou mis à jour votre application:
-
Si vous disposez d'une image de conteneur, conformément à la norme de l'Open Container Initiative(OCI), vous ne devez fournir qu'une référence à l'image, qui pointe vers l'emplacement de votre registre de conteneurs lorsque vous déployez votre application. Vous pouvez déployer votre application avec une image dans un registre public ou un registre privé.
Si vous avez créé votre application à l'aide de la commande
app 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 application pour qu'elle pointe vers une autre image de conteneur, vous devez d'abord supprimer l'association de la génération de votre application. Par exemple, exécutezibmcloud ce application update -n APP_NAME --build-clear. Après avoir retiré l'association de la génération de votre application, vous pouvez mettre à jour l'application 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 construire l'image à partir de votre source et de déployer l'application 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 Déploiement de votre application à 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 créer l'image avec Code Engine avant de déployer votre application.
-
Si vous démarrez avec le code source résidant sur un poste de travail en local, vous pouvez choisir de laisser Code Engine prendre soin de construire l'image à partir de votre source et de déployer l'application 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 Déploiement de votre application à 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 créer l'image avec Code Engine avant de déployer votre application.
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 l'application. Ensuite, après la maturation de l'image, vous pouvez mettre à jour l'application déployée pour faire référence à l'image spécifique que vous voulez. Vous pouvez répéter ce processus si nécessaire.
Lorsque vous déployez votre application mise à jour, la dernière version de votre image de conteneur référencée est téléchargée et déployée, sauf si une balise est spécifiée pour l'image. Si une balise est spécifiée pour l'image, l'image balisée est utilisée pour le déploiement.
Que se passe-t-il si je souhaite redéployer mon application sans modifier les paramètres de configuration?
Vous pouvez toujours déployer votre application avec des modifications de configuration en modifiant une valeur de configuration et en déployant l'application.
Toutefois, vous pouvez souhaiter redéployer une révision d'application sans modifier les paramètres de configuration de votre application. Il se peut que votre image de conteneur référencée soit modifiée et que vous souhaitiez que votre révision d'application utilise l'image de conteneur mise à jour. Vous pouvez également souhaiter que votre application fasse référence à un secret ou à une mappe de configuration, qui contient des valeurs de contenu mises à jour.
Pour ces scénarios, à partir de la console, vous pouvez cliquer sur Redéployer dans l'onglet Configuration de la page de votre application, sans modifier la configuration de votre application. Avec l'interface
de ligne de commande, utilisez la commande ibmcloud ce app update.
Mise à jour de votre application à partir de la console
Mettez à jour l'application que vous avez créée à la section Déploiement d'une application à partir d'un registre public de la console afin d'ajouter une variable d'environnement.
- Accédez à la page de votre application. L'une des méthodes permettant d'accéder à la page de votre application est la suivante :
- Recherchez la page des projetsCode Engine.
- Cliquez sur le nom de votre projet pour ouvrir la page de présentation.
- Cliquez sur Applications pour ouvrir la liste de vos applications. Cliquez sur le nom de votre application pour ouvrir la page de l'application.
- A partir de la page d'application, vous pouvez afficher des informations sur les instances d'exécution de votre application et ses révisions, les détails de configuration et les paramètres de nœud final de l'application. Cliquez sur le nom de la révision d'application que vous souhaitez utiliser pour ouvrir son récapitulatif de configuration. Pour accéder au récapitulatif de configuration de la dernière révision d'application, vous pouvez également cliquer sur l'onglet Configuration.
- Dans l'onglet Configuration, cliquez sur l'onglet Variables d'environnement.
- Cliquez sur Ajouter une variable d'environnement. Définissez cette variable sous forme de valeur littérale. Entrez
TARGETcomme nom etStrangercomme valeur. Cliquez sur Ajouter. - Cliquez sur Déployer pour enregistrer vos modifications et déployer la révision de l'application.
- Lorsque l'application prend le statut Prêt, vous pouvez tester sa révision. Cliquez sur Tester l'application, puis sur Envoyer une demande dans le panneau de test de l'application. Pour ouvrir
l'application dans une page Web, cliquez sur URL de l'application. Pour cette application,
Hello Strangers'affiche.
Dans le présent exemple, vous avez mis à jour les variables d'environnement d'une application. La mise à jour peut s'appliquer également à d'autres paramètres de configuration d'application, comme le référencement d'une image différente ou d'une génération d'image différente dans l'onglet Code. Dans l'onglet Ressources & mise à l'échelle, vous pouvez mettre à jour les paramètres de mémoire et de mise à l'échelle d'application de votre application. Dans l'onglet Variables d'environnement, vous pouvez ajouter ou mettre à jour les variables d'environnement de l'application. Dans l'onglet Options de démarrage de l'image, vous pouvez ajouter ou mettre à jour la commande et les arguments pour remplacer les paramètres dans votre image de conteneur ou utiliser des sondes de vivacité et de disponibilité.
Mise à jour de votre application pour utiliser des nœuds finaux de projet uniquement à partir de la console
Par défaut, lorsque vous déployez une application, celle-ci est déployée de telle sorte qu'elle puisse recevoir des demandes provenant de l'Internet public, d'un réseau privé ou de composants à l'intérieur même du projet. Vous pouvez modifier la visibilité de cette application de sorte qu'elle soit accessible uniquement par d'autres ressources Code Engine qui s'exécutent dans le même environnement Code Engine. Utilisez l'onglet Correspondances de domaines pour modifier la visibilité d'une application.
-
Accédez à la page de votre application. L'une des méthodes permettant d'accéder à la page de votre application est la suivante :
- Recherchez la page des projetsCode Engine.
- Cliquez sur le nom de votre projet pour ouvrir la page de présentation.
- Cliquez sur Applications pour ouvrir la liste de vos applications. Cliquez sur le nom de votre application pour ouvrir la page de l'application.
-
A partir de la page d'application, vous pouvez afficher des informations sur les instances d'exécution de votre application et ses révisions, les détails de configuration et les paramètres de nœud final de l'application. Cliquez sur l'onglet Correspondances de domaines pour ouvrir les paramètres de visibilité des points d'extrémité pour l'application.
-
Dans l'onglet Domain mappings, notez les URL disponibles pour votre application. Lorsque
Publicest sélectionné, vous pouvez afficher l' URL de mappage de domaine de système public et interne pour l'application. Lorsque l'option Pas de mappage de domaine de système externe est sélectionnée, cette application n'est plus accessible depuis l'internet public et l'accès au réseau n'est possible qu'à partir des composants de ce projet.Lorsque vous modifiez la visibilité de votre application, le changement est effectif immédiatement. Il est important de tenir compte de l'impact du changement pour vos utilisateurs actifs ou intégrations, ainsi que de toutes les implications en termes matière de sécurité. Vous pouvez modifier le paramètre de visibilité selon vos besoins.
Mise à jour de votre application pour utiliser des nœuds finaux privés à partir de la console
Par défaut, lorsque vous déployez une application, celle-ci est déployée de telle sorte qu'elle puisse recevoir des demandes provenant de l'Internet public, d'un réseau privé ou de composants à l'intérieur même du projet. Modifions la visibilité de cette application de sorte qu'elle ne soit accessible que par d'autres ressources Code Engine qui s'exécutent dans le même projet et depuis le réseau privé à l'aide des nœuds finaux privés virtuels. Utilisez l'onglet Correspondances de domaines pour modifier la visibilité d'une application.
-
Accédez à la page de votre application. L'une des méthodes permettant d'accéder à la page de votre application est la suivante :
- Recherchez la page des projetsCode Engine.
- Cliquez sur le nom de votre projet pour ouvrir la page de présentation.
- Cliquez sur Applications pour ouvrir la liste de vos applications. Cliquez sur le nom de votre application pour ouvrir la page de l'application.
-
A partir de la page d'application, vous pouvez afficher des informations sur les instances d'exécution de votre application et ses révisions, les détails de configuration et les paramètres de nœud final de l'application. Cliquez sur l'onglet Correspondances de domaines pour ouvrir les paramètres de visibilité des points d'extrémité pour l'application.
-
Dans l'onglet Domain mappings, notez les URL disponibles pour votre application. Lorsque
Privateest sélectionné, cette application n'est plus accessible à partir du réseau public et l'accès au réseau n'est possible qu'à partir des composants de ce projet (cluster-local) et du réseau privé.Cliquez sur Privé pour modifier la visibilité du nœud final de l'application. Les URL disponibles pour votre définition de nœud final sont affichées pour les URL privées et les URL de projet uniquement.
-
Pour accéder à votre application en toute sécurité à l'aide d'un nœud final privé virtuel (VPE), suivez les instructions de Utilisation de votre VPE pour accéder à une application afin de configurer correctement le VPE pour accéder à votre application.
Si vous définissez votre application pour visibility = private, vous pouvez uniquement tester votre application via lenœud final privé virtuel à l'intérieur de votre nuage privé virtuel (VPC).
En changeant la visibilité de votre application, la modification prend effet immédiatement. Il est important de tenir compte de l'impact du changement pour vos utilisateurs actifs ou intégrations, ainsi que de toutes les implications en termes matière de sécurité. Vous pouvez modifier le paramètre de visibilité selon vos besoins.
Mise à jour de votre application via l'interface de ligne de commande
Pour mettre à jour votre application via l'interface de ligne de commande, utilisez la commande app update. Cette commande requiert le nom de l'application que vous souhaitez mettre à jour et autorise d'autres arguments
facultatifs. Pour obtenir la liste complète des options, voir la commande ibmcloud ce app update.
Mettez à jour l'application que vous avez créée à la section Déploiement d'une application via l'interface de ligne de commande afin d'ajouter une variable d'environnement.
L'exemple d'image icr.io/codeengine/hello lit la variable d'environnement TARGETet imprime Hello ${TARGET}. Si cette variable d'environnement est vide, Hello World est renvoyé. L'exemple suivant
met à jour l'application pour remplacer la valeur de la variable d'environnement TARGET par Stranger. Pour plus d'informations sur le code utilisé pour cet exemple, voir hello.
-
Exécutez la commande
application update. Par exemple :ibmcloud ce application update -n myapp --env TARGET=StrangerExemple de sortie
Updating application 'myapp' to latest revision. [...] Run 'ibmcloud ce application get -n myapp' to check the application status. OK https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud -
Exécutez la commande
application getpour afficher le statut de votre application, y compris les informations sur la dernière révision.ibmcloud ce application get --name myappExemple de sortie
[...] Name: myapp [...] URL: https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Environment Variables: Type Name Value Literal TARGET Stranger Image: icr.io/codeengine/hello Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-hc3u8-2: Age: 82s Traffic: 100% Image: icr.io/codeengine/hello (pinned to f0dc03) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 75s Ready true 62s RoutesReady true 62s Events: Type Reason Age Source Messages Normal Created 2m11s service-controller Created Configuration "myapp" Normal Created 2m11s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-hc3u8-1-deployment-65cf8cd4f5-jx8b8 myapp-hc3u8-1 1/2 Terminating 0 2m10s myapp-hc3u8-2-deployment-7f98b679d5-2hskr myapp-hc3u8-2 2/2 Terminating 0 85sDans la section Revisions de la sortie, vous pouvez voir la dernière révision d'application du service
myapp. Notez également que 100 % du trafic vers l'application exécute la dernière révision de l'application. -
Appelez l'application.
curl https://myapp.4svg40kna19.us-south.codeengine.appdomain.cloudExemple de sortie
Hello StrangerDans la sortie de cette commande, vous pouvez voir que l'application mise à jour renvoie
Hello Stranger. -
Utilisez la commande
ibmcloud ce revision listpour afficher toutes vos révisions d'application. Utilisez ces informations pour mieux gérer vos révisions d'application sachant que Code Engine applique un quota pour le nombre de révisions d'application dans un projet.Dans la sortie de la commande
revision listci-dessous, vous remarquerez que Code Engine conserve uniquement la révision inactive la plus récente de votre application, en plus de votre révision d'application active. Les révisions plus anciennes sont supprimées.ibmcloud ce revision listExemple de sortie
Listing all application revisions... OK Name Application Status URL Latest Tag Traffic Age Conditions Reason myapp-hc3u8-4 myapp Ready 2d15h 3 OK / 4 myapp-hc3u8-5 myapp Ready true 100% 2d8h 3 OK / 4 myapp2-vjfqt-1 myapp2 Ready true 100% 3d 3 OK / 4 myhelloapp-tv368-3 myhelloapp Ready 16d 3 OK / 4 myhelloapp-tv368-4 myhelloapp Ready true 100% 16d 3 OK / 4 newapp-mytest-00008 newapp-mytest Ready 4d17h 3 OK / 4 newapp-mytest-00009 newapp-mytest Ready true 100% 2d20h 3 OK / 4
Vous pouvez gérer vos révisions d'application en utilisant la commande ibmcloud ce revision get pour afficher les détails relatifs à une révision
d'application ainsi que la commande ibmcloud ce revision delete pour supprimer les révisions que vous ne voulez pas conserver. Vous pouvez
aussi utiliser la commande ibmcloud ce revision logs pour afficher les journaux des instances de révision d'application. Utilisez la commande
ibmcloud ce revision events pour afficher les événements système des instances de révision d'application.
Mise à jour de votre application pour utiliser les nœuds finaux de projet uniquement avec l'interface de ligne de commande
Par défaut, lorsque vous déployez une application, celle-ci est déployée de telle sorte qu'elle puisse recevoir des demandes provenant de l'Internet public, d'un réseau privé ou de composants à l'intérieur même du projet. Pour modifier la visibilité
de votre application de sorte qu'elle ne soit accessible que par d'autres ressources Code Engine qui s'exécutent dans le même projet, utilisez l'option --visibility=project avec la commande ibmcloud ce app update ou ibmcloud ce app create.
Dans ce scénario, mettez à jour l'application que vous avez créée dans Déploiement d'une application avec l'interface de ligne de commande pour modifier la visibilité de l'application pour utiliser un nœud final de projet.
-
Exécutez la commande
application update. Par exemple :ibmcloud ce application update -n myapp --visibility=projectExemple de sortie
Updating application 'myapp' to latest revision. [...] Run 'ibmcloud ce application get -n myapp' to check the application status. OK http://myapp.4svg40kna19.svc.cluster.local -
Exécutez la commande
application getpour afficher le statut de votre application, y compris les informations sur la dernière révision.ibmcloud ce application get --name myappExemple de sortie
[...] Name: myapp [...] URL: http://myapp.4svg40kna19.svc.cluster.local Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Environment Variables: Type Name Value Literal TARGET Stranger Image: icr.io/codeengine/hello Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-hc3u8-2: Age: 82s Traffic: 100% Image: icr.io/codeengine/hello (pinned to f0dc03) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 75s Ready true 62s RoutesReady true 62s Events: Type Reason Age Source Messages Normal Created 2m11s service-controller Created Configuration "myapp" Normal Created 2m11s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-hc3u8-1-deployment-65cf8cd4f5-jx8b8 myapp-hc3u8-1 1/2 Terminating 0 2m10s myapp-hc3u8-2-deployment-7f98b679d5-2hskr myapp-hc3u8-2 2/2 Terminating 0 85sDans la section Revisions de la sortie, vous pouvez voir la dernière révision d'application du service
myapp. Notez également que 100 % du trafic vers l'application exécute la dernière révision de l'application.
Maintenant que vous avez défini --visibility=project sur votre application, cette application n'est plus accessible à partir du réseau public et l'accès au réseau n'est possible qu'à partir des composants de ce projet (cluster-local).
Mise à jour de votre application pour utiliser des nœuds finaux privés avec l'interface de ligne de commande
Par défaut, lorsque vous déployez une application, celle-ci est déployée de telle sorte qu'elle puisse recevoir des demandes provenant de l'Internet public, d'un réseau privé ou de composants à l'intérieur même du projet. Vous pouvez définir la visibilité du nœud final pour votre application de sorte qu'elle soit déployée avec un nœud final privé. La définition d'un nœud final privé signifie que votre application n'est pas accessible à partir de l'accès public à Internet et que l'accès au réseau est possible uniquement d'autres services IBM Cloud qu'à partir de nœuds finaux privés virtuels (VPC) ou de composants Code Engine exécutés dans le même projet (cluster-local).
Pour modifier la visibilité de votre application de sorte qu'elle ne soit accessible qu'avec un noeud final privé, utilisez l'option --visibility=private avec la commande ibmcloud ce app update ou ibmcloud ce app create.
Vous pouvez uniquement utiliser votre nœud final privé virtuel pour accéder à votre application avec un nœud final privé si votre projet sélectionné prend en charge laVisibilité privée de l'application.
Pour confirmer si le projet prend en charge la visibilité privée de l'application, utilisez la commande ibmcloud ce project get pour vérifier
que la sortie de Application Private Visibility Supported est définie sur true.
Dans ce scénario, mettez à jour l'application que vous avez créée dans Déploiement d'une application avec l'interface de ligne de commande pour modifier la visibilité de l'application pour utiliser un Nœud final privé.
-
Confirmez que le projet existant prend en charge les applications ayant une visibilité privée. Utilisez la commande
ibmcloud ce project getpour vérifier que la sortie deApplication Private Visibility Supportedest définie surtrue. Si la valeur estfalse, Contactez le support IBM pour activer cette fonction dans votre projet existant.ibmcloud ce project get -n myprojectExemple de sortie
Getting project 'myproject'... OK Name: myproject ID: abcdabcd-abcd-abcd-abcd-f1de4aab5d5d Status: active Enabled: true Application Private Visibility Supported: true Selected: true Region: us-south Resource Group: default Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f Age: 52d Created: Tue, 28 Sep 2021 05:12:16 -0500 Updated: Tue, 28 Sep 2021 05:12:19 -0500 Quotas: Category Used Limit App revisions 1 60 Apps 1 20 Build runs 1 100 Builds 2 100 Configmaps 2 100 CPU 0 64 Ephemeral storage 0 256G Instances (active) 0 250 Instances (total) 0 2500 Job runs 0 100 Jobs 0 100 Memory 0 256G Secrets 6 100 Subscriptions (cron) 0 100 Subscriptions (IBM Cloud Object Storage) 0 100 Subscriptions (Kafka) 0 100 -
Si
Application Private Visibility Supportedesttrue, vous pouvez mettre à jour votre application pour utiliser des nœuds finaux privés. Exécutez la commandeapplication update. Par exemple :ibmcloud ce application update -n myapp --visibility=privateExemple de sortie
Updating application 'myapp' to latest revision. [...] Run 'ibmcloud ce application get -n myapp' to check the application status. OK https://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
Exécutez la commande
application getpour afficher le statut de votre application, y compris les informations sur la dernière révision.ibmcloud ce application get --name myappExemple de sortie
[...] Name: myapp [...] URL: https://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myapp.4svg40kna19.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myapp/configuration Environment Variables: Type Name Value Literal TARGET Stranger Image: icr.io/codeengine/hello Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Revisions: myapp-hc3u8-2: Age: 82s Traffic: 100% Image: icr.io/codeengine/hello (pinned to f0dc03) Running Instances: 1 Runtime: Concurrency: 100 Maximum Scale: 10 Minimum Scale: 0 Timeout: 300 Conditions: Type OK Age Reason ConfigurationsReady true 75s Ready true 62s RoutesReady true 62s Events: Type Reason Age Source Messages Normal Created 2m11s service-controller Created Configuration "myapp" Normal Created 2m11s service-controller Created Route "myapp" Instances: Name Revision Running Status Restarts Age myapp-hc3u8-1-deployment-65cf8cd4f5-jx8b8 myapp-hc3u8-1 1/2 Terminating 0 2m10s myapp-hc3u8-2-deployment-7f98b679d5-2hskr myapp-hc3u8-2 2/2 Terminating 0 85sDans la section Revisions de la sortie, vous pouvez voir la dernière révision d'application du service
myapp. Notez également que 100 % du trafic vers l'application exécute la dernière révision de l'application. -
Configurez votre VPE pouraccéder à votre application avec un nœud final privé.
Mise à jour d'une application pour référencer une image différente
Vous pouvez mettre à jour votre application pour référencer une autre image.
L'image associée à votre révision d'application spécifique possède un résumé de registre de conteneur unique et Code Engine utilise ce résumé pour la durée de vie de votre révision d'application. Si vous créez une version plus récente d'une image avec la même balise que l'image d'origine, l'image d'origine est remplacée dans le registre de conteneur et devient non balisée. L'image la plus récente est balisée, et cette image plus récente a un résumé différent. Votre application Code Engine n'utilise pas cette image plus récente, car celle-ci possède un résumé différent de celui de l'image référencée par la révision d'application. Code Engine peut toujours créer de nouvelles instances de la révision d'application tant que l'image non balisée, référencée à l'origine, existe toujours. Pour plus d'informations, voir Pourquoi Code Engine ne peut-il pas extraire une image?
Mise à jour d'une application pour référencer une autre image dans Container Registry à partir de la console
Mettez à jour une application pour référencer une autre image dans un registre de conteneur à l'aide de la console Code Engine.
Pour cet exemple, nous allons mettre à jour l'application helloapp que vous avez créée à la section Déploiement d'une application qui fait référence à une image dans Container Registry à partir de la console pour référencer une autre image. L'application mise à jour référence l'image helloworld_repo dans l'espace de nom mynamespace2 de Container Registry. Les étapes suivantes décrivent l'ajout de l'accès à un registre
lors de la mise à jour d'une application.
Pour plus d'informations sur l'ajout d'une image à Container Registry, voir Initiation à IBM Cloud Container Registry.
-
Accédez à la page de votre application. L'une des méthodes permettant d'accéder à la page de votre application est la suivante :
- Recherchez la page des projetsCode Engine.
- Cliquez sur le nom de votre projet pour ouvrir la page de présentation.
- Cliquez sur Applications pour ouvrir la liste de vos applications. Cliquez sur le nom de votre application pour ouvrir la page de l'application.
-
Cliquez sur l'onglet Configuration pour ouvrir les détails de configuration de la dernière révision de l'application.
-
Dans l'onglet Configuration, cliquez sur l'onglet Code.
-
Pour exécuter Image, cliquez sur Configurer l'image pour ouvrir la boîte de dialogue de configuration d'image. Dans le cadre du présent exemple, mettez à jour l'application pour référencer un
ibmcregistryexistant, sélectionnez l'espace de nommynamespace2, l'imagehelloworld-repo, puis1comme valeurtag. A partir de la page de configuration d'image,- Si l'image que vous souhaitez utiliser se trouve dans le même compte Container Registry, sélectionnez l'accès au registre.
- Si l'image que vous souhaitez utiliser se trouve dans un autre compte de registre de conteneur, vous pouvez sélectionner l'accès à ce registre. Si l'accès au registre n'existe pas, vous devez d'abord créer votre clé d'API IAM, puis ajouter un accès au registre dans Code Engine.
Si vous souhaitez mettre à jour uniquement l'accès au registre de votre image, vous pouvez effectuer cette modification sans cliquer sur Configurer l'image pour ouvrir la boîte de dialogue Configurer l'image et utiliser le menu Accès au registre pour sélectionner un accès au registre existant ou créer un accès au registre à l'adresse Code Engine pour l'image référencée par votre application.
-
Cliquez sur Terminé. Vous avez sélectionné votre image dans le registre à référencer à partir de votre application.
-
Cliquez sur Déployer pour enregistrer vos modifications et déployer la révision de l'application.
-
Lorsque l'application prend le statut Prêt, vous pouvez tester sa révision. Cliquez sur Tester l'application, puis sur Envoyer une demande dans le panneau de test de l'application. Pour ouvrir l'application dans une page Web, cliquez sur URL de l'application. Pour cette application,
Hello World from Code Engines'affiche.
Mise à jour d'une application pour référencer une autre image dans Container Registry via l'interface de ligne de commande
Mettez à jour une application pour référencer une autre image dans Container Registry à partir de l'interface de ligne de commande de Code Engine.
Pour cet exemple, mettez à jour l'application myhelloapp que vous avez créée à la section Déploiement d'une application qui référence une image dans Container Registry via l'interface de ligne de commande pour référencer une autre image dans un autre espace de nom du même compte. Mettez à jour l'application pour référencer l'image helloworld_repo dans l'espace de nom mynamespace2 de Container Registry.
-
Ajoutez une autre image à Container Registry. Pour cet exemple, ajoutez l'image
helloworld_repodans l'espace de nommynamespace2dans Container Registry. Pour plus d'informations sur l'ajout d'une image à Container Registry, voir Initiation à IBM Cloud Container Registry. -
Ajoutez un accès au registre à Code Engine. Pour cet exemple, comme l'image
helloworld_repose trouve dans le même compte, utilisez l'accès au registremyregistryprécédemment défini. -
Mettez à jour votre application et référencez l'image dans Container Registry à l'aide de l'accès à
myregistry. Par exemple, mettez à jour l'applicationmyhelloapppour référencerus.icr.io/mynamespace2/helloworld_repoà l'aide des informations d'accès demyregistry.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace2/helloworld_repo:1 --registry-secret myregistryLe format du nom de l'image de cette application est
REGISTRY/NAMESPACE/REPOSITORY:TAG, oùREGISTRYetTAGsont facultatifs. SiREGISTRYn'est pas spécifié, la valeur par défaut estdocker.io. SiTAGn'est pas spécifié, la valeur par défaut estlatest. -
Une fois votre application mise à jour, vous pouvez y accéder. Pour obtenir l'URL de votre application, exécutez
ibmcloud ce app get --name myhelloapp --output url. Lorsque vous exécutez la commande curl sur l'applicationmyhelloapp, l'application renvoieHello World from Code Engine, ce qui démontre qu'elle utilise désormais l'imagehelloworld_repo.
Mise à jour d'une application pour référencer une image générée à partir du code source de la console
Mettez à jour une application pour référencer une image qui est générée à partir du code source par le biais de la console Code Engine.
Pour cet exemple, nous allons mettre à jour l'application helloapp que vous avez créée à la section Déploiement d'une application qui fait référence à une image dans Container Registry à partir de la console pour référencer une image générée à partir du code source.
Pour plus d'informations sur la création d'une configuration de génération à partir de la console, voir Création d'une génération.
- Accédez à la page de votre application. L'une des méthodes permettant d'accéder à la page de votre application est la suivante :
- Recherchez la page des projetsCode Engine.
- Cliquez sur le nom de votre projet pour ouvrir la page de présentation.
- Cliquez sur Applications pour ouvrir la liste de vos applications. Cliquez sur le nom de votre application pour ouvrir la page de l'application.
- Cliquez sur l'onglet Configuration pour ouvrir les détails de configuration de la dernière révision de l'application.
- Dans l'onglet Configuration, cliquez sur l'onglet Code.
- Dans l'onglet Code, vous pouvez créer une génération d'image ou exécuter à nouveau une génération d'image existante qui est référencée par l'application. Pour créer une génération d'image, cliquez sur Create image from source pour exécuter une génération d'image. La page Spécifier les détails de génération s'ouvre pour vous permettre d'entrer les détails de la génération pour déployer l'application à partir du code source. Cliquez sur Terminé après avoir spécifié les mises à jour des détails de génération.
- Cliquez sur Déployer pour enregistrer vos modifications, exécuter la compilation et déployer la révision de l'application.
- Lorsque l'application prend le statut Prêt, vous pouvez tester sa révision. Cliquez sur Tester l'application, puis sur Envoyer une demande dans le panneau de test de l'application. Pour ouvrir l'application dans une page Web, cliquez sur URL de l'application.
- Pour mettre à nouveau à jour cette application afin de référencer une image de génération mise à jour, cliquez sur Rerun build dans l'onglet Code et spécifiez une balise d'image unique pour l'image de génération mise à jour. Si vous souhaitez apporter d'autres modifications aux détails de génération, cliquez sur Editer les détails de génération. La page Spécifier les détails de génération s'ouvre pour vous permettre d'entrer les détails de la génération pour déployer l'application à partir du code source. Cliquez sur Terminé après avoir spécifié les mises à jour des détails de génération.
- Cliquez sur Déployer pour enregistrer vos modifications, exécuter la compilation avec vos modifications et déployer la révision de l'application.
- Lorsque l'application prend le statut Prêt, vous pouvez tester sa révision. Cliquez sur Tester l'application, puis sur Envoyer une demande dans le panneau de test de l'application. Pour ouvrir l'application dans une page Web, cliquez sur URL de l'application.
Mise à jour d'une application pour référencer une image générée à partir du code source à l'aide de l'interface de ligne de commande
Mettez à jour une application pour référencer une image qui est générée à partir du code source par le biais de l'interface de ligne de commande Code Engine.
Pour cet exemple, nous allons modifier l'application myhelloapp qui a été mise à jour à l'étape Mise à jour d'une application pour référencer une image différente dans Container Registry via l'interface de ligne de commande afin de référencer une image différente qui est générée à partir du code source.
Dans l'exemple précédent, l'application myhelloapp référence us.icr.io/mynamespace2/helloworld_repo à l'aide des informations d'accès myregistry. Nous allons créer une configuration de génération, exécuter
la génération et mettre à jour l'application myhelloapp pour référencer l'image qui a été générée à partir du code source.
-
Créez la configuration de génération. Par exemple, la commande
build createsuivante crée une configuration de génération appeléehelloworld-build. Cette configuration se construit à partir du fichier public du répertoireGithttps://github.com/IBM/CodeEngine, utilise la stratégiedockerfileet la taille de générationmedium, et stocke l'image dansus.icr.io/mynamespace/codeengine-helloworldà l'aide du secret de registre d'images défini dansmyregistry.ibmcloud ce build create --name helloworld-build --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source https://github.com/IBM/CodeEngine --commit main --context-dir /hello --strategy dockerfile --size medium -
Exécutez la génération. Cet exemple exécute une génération nommée
helloworld-build-runet utilise la configuration de générationhelloworld-build:ibmcloud ce buildrun submit --build helloworld-build --name helloworld-build-runLa sortie suivante présente les détails de l'exécution de génération en utilisant la commande
ibmcloud ce buildrun get.Exemple de sortie
Getting build run 'helloworld-build-run'... [...] OK Name: helloworld-build-run ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 21m Created: 2021-09-30T14:50:13-05:00 Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Image: us.icr.io/mynamespace/codeengine-helloworldPour plus d'informations sur la création d'une configuration de génération à l'aide de l'interface de ligne de commande, voir Création d'une génération.
-
Mettez à jour l'application
myhelloapppour référencer l'image que vous avez générée et qui utilise le secret de registremyregistry.ibmcloud ce app update --name myhelloapp --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry -
Affichez les informations relatives à l'application mise à jour pour confirmer que l'image référencée est celle que vous avez générée.
ibmcloud ce app get --name myhelloappExemple de sortie
[...] OK Name: myhelloapp ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2m4s Created: 2021-09-09T14:01:02-04:00 URL: https://myhelloapp.abcdabcdabc.us-south.codeengine.appdomain.cloud Cluster Local URL: http://myhelloapp.abcdabcdabc.svc.cluster.local Console URL: https://cloud.ibm.com/codeengine/project/us-south/01234567-abcd-abcd-abcd-abcdabcd1111/application/myhelloapp/configuration Status Summary: Application deployed successfully Environment Variables: Type Name Value Literal CE_API_BASE_URL https://api.private.us-south.codeengine.cloud.ibm.com Literal CE_APP myhelloapp Literal CE_DOMAIN us-south.codeengine.appdomain.cloud Literal CE_PROJECT_ID abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Literal CE_REGION us-south Literal CE_SUBDOMAIN abcdabcdab Image: us.icr.io/mynancesnamespace/codeengine-helloworld Resource Allocation: CPU: 1 Ephemeral Storage: 400M Memory: 4G Registry Secrets: myregistry Revisions: helloapp-00003: Age: 2m46s Latest: true Traffic: 100% Image: us.icr.io/mysnamespace/codeengine-helloworld (pinned to eeca2b) Running Instances: 1 [...]