Déploiement de votre code d'application à partir d'une source locale
Déployons une application hello world simple pour voir comment fonctionne Code Engine. Suivez les étapes pour créer un projet, préparer votre code et déployer votre application.
Consultez les termes et conditions de Cloud Foundry et de Code Engine avant de commencer ce tutoriel.
Objectifs
- Découvrez les similitudes entre Code Engine et Cloud Foundry.
- Découvrez le processus général de déploiement d'applications dans Code Engine.
- Déployez une application à partir du code sur votre système local avec Code Engine.
Prérequis
Avant de commencer à utiliser Code Engine, vous devez configurer votre compte et installer l'interface de ligne de commande.
-
Tous les utilisateurs Code Engine doivent avoir un compte de paiement à la carte.
-
Bien que vous puissiez utiliser Code Engine via la console, les exemples de cette documentation se concentrent sur la ligne de commande. Vous devez donc installer l'interface de ligne de commande Code Engine.
ibmcloud plugin install code-enginePour plus d'informations, voir Configuration de l'interface de ligne de commande Code Engine. Pour plus d'informations sur l'interface de ligne de commande, voir Référence de l'interface de ligne de commandeCode Engine.
Tous les utilisateurs Code Engine doivent avoir un compte de paiement à la carte. Les tutoriels peuvent entraîner des coûts. Utilisez l'estimateur de coût pour générer une estimation du coût en fonction de l'utilisation envisagée. Pour plus d'informations, voir Tarification Code Engine.
Connectez-vous à IBM Cloud
Procédez comme suit pour vous connecter à votre compte IBM Cloud et cibler un groupe de ressources.
-
Connectez-vous à l'interface de ligne de commande IBM Cloud.
ibmcloud login -
Ciblez un groupe de ressources en exécutant la commande suivante : Pour obtenir la liste de vos groupes de ressources, exécutez**
ibmcloud resource groups**.ibmcloud target -g <resource_group>Exemple de sortie
Targeted resource group default
Création d'un projet
Un " projet "Code Engine est similaire à un espace " Cloud Foundry " en ce qu'il regroupe des charges de travail liées dans une collection logique significative
pour le développeur. Vous pouvez regrouper des charges de travail dans différents projets en fonction des critères qui vous sont propres, par exemple, la structure de l'organisation de l'entreprise, les dépendances entre les charges de travail,
ou le développement par rapport aux environnements de test ou de production. Vous pouvez alors configurer l'accès à ces projets, similaire à la configuration de l'accès à votre Cloud Foundryorgs.
N'oubliez pas que les charges de travail d'un même projet partagent un réseau privé et sont isolées à l'intérieur des limites de sécurité du projet. Toutes les charges de travail d'un projet peuvent communiquer librement entre elles sans craindre
d'être vues par des charges de travail en dehors du cluster. Si les charges de travail de différents projets veulent communiquer entre elles, la communication doit utiliser Internet ou un réseau privé IBM interne. Pour plus d'informations,
voir Options de visibilité pour une application Code Engine.
Créez un projet dans Code Engine appelé sample.
ibmcloud ce project create --name sample
Exemple de sortie
Creating project 'sample'...
ID for project 'sample' is 'abcdabcd-abcd-abcd-abcd-abcd12e3456f7'.
Waiting for project 'sample' to be active...
Now selecting project 'sample'.
OK
Notez que votre projet est également sélectionné pour le contexte, de sorte que toutes les commandes d'application ultérieures se trouveront dans le périmètre de ce nouveau projet sample.
Création d'un répertoire et d'un code source
-
Créez un répertoire sur votre poste de travail local nommé
myappet accédez à celui-ci. Dans ce répertoire, enregistrez tous les fichiers nécessaires à la génération de l'image et à l'exécution de votre application.mkdir myapp && cd myapp -
Créez un fichier appelé
server.jset copiez le code source suivant dans celui-ci.const http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end( "Hello world\n" ); }).listen(8080);Cet exemple utilise Node.js. Vous pouvez remplacer le code par un code d'exécution pris en charge.
Déploiement de votre application
Insérez votre code dans Code Engine à l'aide de la commande application create. Vous devez fournir un nom pour votre application et l'emplacement du code source. L'exemple suivant crée une application appelée myappqui
utilise la stratégiebuildpack et fournit l'emplacement du code source dans le répertoire en cours (.).
ibmcloud ce app create --name myapp --build-source . --strategy buildpacks
Exemple de sortie
Creating application 'myapp'...
Packaging files to upload from source path '.'...
Submitting build run 'myapp-run-220999-210706331'...
Creating image 'private.us.icr.io/ce--6ef04-khxrbwa0lci/app-myapp:220418-0207-askql'...
Waiting for build run to complete...
Build run status: 'Running'
Build run completed successfully.
Run 'ibmcloud ce buildrun get -n myapp-run-220000-210706331' to check the build run status.
Waiting for application 'myapp' to become ready.
Configuration 'myapp' is waiting for a Revision to become ready.
Ingress has not yet been reconciled.
Waiting for load balancer to be ready.
Run 'ibmcloud ce application get -n myapp' to check the application status.
OK
https://myapp.abcdbwa0lci.us-south.codeengine.appdomain.cloud
Et c'est terminé. Vous avez maintenant une application sur Internet. Le code de l'application elle-même est identique à ce qui est utilisé pour une application Cloud Foundry, ce sont uniquement des commandes Code Engine qui sont légèrement différentes.
Examinons plus en détail la commande**app create** précédente. Notez que la sortie de la commande app create fournit des informations sur la progression de l'exécution de la génération avant la création
et le déploiement de l'application.
- Code Engine reçoit une demande de création d'une application à partir du code source (au lieu d'insérer directement à partir d'une image).
- Code Engine recherche un ID de service IAM et une clé d'API associés au projet sélectionné. Cet ID de service doit être autorisé à lire et à écrire dans IBM Cloud Container Registry. Si aucun ID de service n'existe, Code Engine en crée un pour vous. Notez que cet ID de service est utilisé pour les demandes de génération Code Engine ultérieures qui sont exécutées à partir du même projet.
- Cet exemple génère du code à partir d'une source locale (
--build-source .). Le code source est compressé dans un fichier archive et téléchargé dans un espace de nom géré dans l'instance IBM Cloud Container Registry de votre compte. Notez que vous ne pouvez cibler que IBM Cloud Container Registry pour vos générations locales. Pour plus d'informations sur IBM Container Registry, y compris des informations sur les limites de quota et l'accès, voir Initiation à IBM Cloud Container Registry. - Code Engine génère votre code source dans une image. L'image source est créée dans le même espace de nom que votre fichier d'archive source.
- Une fois la génération terminée, votre application est déployée. Vous pouvez accéder à votre application à partir de l'URL fournie.
Avec Code Engine, vous obtenez automatiquement de nombreuses fonctionnalités identiques à celles de Cloud Foundry, telles que la mise à jour automatique et le déploiement de mises à jour, mais vous profiterez également des avantages des nouvelles fonctions telles que la mise à l'échelle à zéro, ce qui vous assure que vous n'êtes pas facturé si votre application n'est pas active.
Vous voulez en savoir plus sur vos options pour générer votre code source ? Voir les commandes application create et job create.
Vous voulez en savoir plus sur les applications et les travaux ? Voir Utilisation d'applications dans Code Engine et Utilisation des travaux et des exécutions de travaux.
Nettoyer
Une fois ce tutoriel terminé, vous pouvez nettoyer les ressources que vous avez créées avec les commandes suivantes.
Supprimer votre application
ibmcloud ce app delete --name myapp
Lorsque vous supprimez votre application, les fichiers de génération associés sont également supprimés.
Enfin, supprimez les images créées par la génération à partir de IBM Cloud Container Registry.
- Accédez à Registry dans la console IBM Cloud .
- Recherchez l'archive et l'image associées à votre application en recherchant votre nom d'application.
- Sélectionnez l'archive et l'image et supprimez.
Etapes suivantes
- Vous commencez juste votre migration ? Consultez Mise en route.
- Comparer la terminologie de Cloud Foundry avec Code Engine.
- Déploiement de votre code d'application à partir d'une source locale (page en cours)
- Votre application utilise-t-elle des liaisons de service ? Consultez Migration de vos liaisons de service.
- En savoir plus sur la mise à l'échelle et gestion du trafic.
- Recherchez Code Engine équivalents à des commandes de Cloud Foundry.
- D'autres questions ? Essayez Migration des applications Foundry Cloud vers la foire aux questions Code Engine.
Autres informations
- Pour en savoir plus sur la tarification Code Engine.
- Essayez d'autres tutorielsCode Engine.
- Explorez d'autres rubriques Code Engine.