Développement et déploiement d'une application à l'aide de Code Engine

DevOps Insights Le service prendra fin et sera interrompu le 31 août 2026. Le service Continuous Delivery sera interrompu dans les régions suivantes le 12 février 2027 : au-syd, ca-tor, us-east. Code Risk Analyzer sera également retiré du marché dans toutes les régions à cette date. Si ces fonctionnalités ne sont pas activement utilisées dans une région donnée, elles pourraient y être supprimées plus tôt et ne plus accepter de nouvelles instances. En savoir plus

Dans ce tutoriel, vous apprenez à créer une chaîne d'outils ouverte en utilisant IBM Cloud® Continuous Delivery et déployez votre application sous Code Engine. Vous apprendrez également comment les chaînes d'outils sont implémentée dans le service Continuous Delivery et comment développer et déployer une application Web simple (application) à l'aide de chaînes d'outils.

IBM Cloud® Code Engine est une plateforme entièrement gérée et sans serveur qui exécute vos charges de travail conteneurisées, y compris les applications Web, les micro-services, les fonctions pilotés par évènement ou les travaux par lots. Code Engine génère même des images de conteneur pour vous à partir de votre code source. Etant donné que ces charges de travail sont toutes hébergées dans la même infrastructure Kubernetes, elles peuvent fonctionner ensemble sans problème. L'expérience Code Engine est conçue pour vous permettre de vous concentrer sur l'écriture de code et non sur l'infrastructure qui doit l'héberger.

La chaîne d'outils utilisée dans ce tutoriel implémente des pratiques DevOps standard telles que l'analyse de code, les tests d'acceptation, les pensions Git, l'intégration continue et les fonctions de distribution continue. Après avoir créé des clusters et les associer à un groupe de clusters Continuous Delivery, vous créez une chaîne d'outils pour modifier le code de votre application et appuyer la modification sur le référentiel Git Repos and Issue Tracking. Lorsque vous appuyez les modifications sur votre repo, le pipeline de distribution basé sur Tekton construit et déploie automatiquement le code.

Tekton est un framework open source, indépendant des éditeurs et natif d' Kubernetes, que vous pouvez utiliser pour créer, tester et déployer des applications. Tekton fournit un ensemble de composants partagés permettant de créer des systèmes d'intégration continue et de livraison continue. En tant que projet open source, Tekton est géré par la Fondation Continuous Delivery. L'objectif est de moderniser la livraison continue en fournissant des spécifications industrielles pour les pipelines, les flux de travail et d'autres éléments de base. Avec Tekton, vous pouvez créer, tester et déployer des systèmes sur site ou des fournisseurs de services cloud en faisant abstraction des détails de mise en œuvre sous-jacents. Les pipelines Tekton sont générés dans Continuous Delivery.

Avant de commencer

Avant de commencer ce tutoriel, vérifiez que vous disposez des ressources suivantes :

  • Un compteIBM Cloud. Selon votre type de compte IBM Cloud, l'accès à certaines ressources peut être limité. Selon les limites de votre plan de compte, certaines fonctions requises par certaines stratégies de déploiement risquent de ne pas être disponibles. Pour plus d'informations sur les comptes IBM Cloud, consultez les articles Configuration de votre compte IBM Cloud et Mise à niveau de votre compte.

  • Une clé Projet Code Engine et une clé d'API. Vous pouvez créer ces ressources à l'aide de l'interface utilisateur ou de l'interface de ligne de commande. Pour plus d'informations sur les projets Code Engine, voir Projets Code Engine.

  • Une instance du service Continuous Delivery.

  • Optionnel. Secrets stockés dans un coffre de gestion de secrets et gérés centralement à partir d'un seul emplacement. Pour plus d'informations sur le choix des différentes offres de gestion des secrets et de protection des données, voir Gestion des secrets IBM Cloud. Si vous ne disposez pas déjà d'une instance de fournisseur de coffre de gestion des secrets de votre choix, créez-vous un.

  • Optionnel. Espace de nom créé à l'aide de la ligne de commande du registre de conteneur. Pour créer un espace de nom, entrez la commande suivante à partir de la ligne de commande :

    ibmcloud cr namespace-add <my namespace>
    

    Vous pouvez également créer un espace de nom sur la page Registre de conteneur. Pour plus d'informations sur la création d'un espace de nom dans cet emplacement, voir le service Registre de conteneur IBM Cloud.

Création de la chaîne d'outils

Dans cette étape, vous créez une chaîne d'outils Développement d'une application Code Engine. Le projet Code Engine cible est configuré lors de la configuration de la chaîne d'outils à l'aide de votre clé d'API IBM Cloud et de votre nom de projet Code Engine . Vous pouvez modifier ces paramètres ultérieurement en mettant à jour la configuration Delivery Pipeline. Tout code fusionné dans la branche du référentiel cible Git est automatiquement généré, validé et déployé dans le projet Code Engine.

Pour créer une chaîne d'outils Développement d'une application Code Engine, cliquez sur

Créer une chaîne d'outils

Sinon, depuis la IBM Cloud console, cliquez sur l'icône Menu (icône hamburger ) > Automatisation de la plateforme > Chaînes d'outils. Sur la page Chaînes d'outils, cliquez sur Créer une chaîne d'outils. Sur la page Créer une chaîne d'outils, cliquez sur Développer une application Code Engine.

Configuration du nom et de la région de la chaîne d'outils

  1. Dans l'écran d'accueil, consultez les informations par défaut des paramètres de la chaîne d'outils. Le nom de la chaîne d'outils l'identifie dans IBM Cloud. Veillez à ce qu'il n'existe qu'une seule chaîne d'outils de ce nom dans une même région et un même groupe de ressources IBM Cloud.

    La région de la chaîne d'outils peut être différente de celle du cluster et du registre.

    Code Engine Nom et région de la chaîne d'outils de l'application sécurisée Nom
    Code Engine et région de la chaîne d'outils de l'application sécurisée

  2. Cliquez sur Start.

Configuration du code source de l'application

  1. Dans l'étape Application, les options recommandées pour le repo du code source de l'application sont affichées par défaut. Pour afficher toutes les options disponibles pour l'intégration Git sous-jacente, cliquez sur Options avancées. Par défaut, la chaîne d'outils utilise l'exemple par défaut qui clone l'application exemple sous la forme d'un référentiel Git Repos and Issue Tracking hébergé par IBM.

    Code Engine référentiel d'applications sécurisé
    Code Engine référentiel d'applications sécurisé

    Vous pouvez changer le nom de l'application repo. La région du repo reste la même que la région de la chaîne d'outils.

  2. Optionnel. Le modèle de chaîne d'outils fournit une application d'exemple d'application Hello World . Si vous souhaitez lier un référentiel d'application existant pour la chaîne d'outils, sélectionnez Apportez votre propre application et indiquez l'URL du référentiel. La chaîne d'outils prend en charge la liaison uniquement aux pensions Git Repos and Issue Tracking existantes.

  3. Cliquez sur Continu.

Par défaut, le modèle de référentiel d'application est cloné dans votre organisation Git Repos and Issue Tracking. Pour modifier l'organisation, activez Options avancées et indiquez le propriétaire du référentiel.

Secrets de stockage de sécurité

Plusieurs outils de cette chaîne d'outils nécessitent des secrets, tels qu'une clé d'API IBM Cloud. Vous devez stocker en toute sécurité tous les secrets dans un coffre et les faire référence comme requis par la chaîne d'outils.

  1. A l'aide de IBM Cloud, vous pouvez choisir parmi diverses offres de gestion de secrets et de protection des données qui vous aident à protéger vos données sensibles et à centraliser votre secret. Dans l'étape Secrets, vous pouvez spécifier les intégrations de coffre à ajouter ou à supprimer de votre chaîne d'outils. Pour plus d'informations sur l'ajout et la suppression d'intégrations de coffre, y compris les prérequis et l'utilisation de conseils, voir Gestion des secrets IBM Cloud.

    En utilisant des conseils dans un modèle, une chaîne d'outils est automatiquement renseignée avec des secrets préconfigurés ; vous n'avez pas besoin de sélectionner manuellement les secrets des intégrations de coffre qui sont associés à la chaîne d'outils.

    Ce tutoriel utilise IBM Secrets Manager comme coffre des secrets.

    Code Engine Options de sécurité des secrets d'application Options
    Code Engine de sécurité des secrets d'application

    IBM Secrets Manager stocke et applique des informations confidentielles telles que les clés d'API, la signature d'image ou les données d'identification HashiCorp qui font partie de votre chaîne d'outils.

    Secrets Manager

    Code Engine options Secrets Manager
    Code Engine options

  2. Cliquez sur Continu.

Pour plus d'informations sur la gestion de vos secrets dans IBM Key Protect ou HashiCorp,, voir Secrets.

Configuration de la cible de déploiement

Configurez le projet Code Engine cible sur le déploiement de l'application. Une foi que l'application a passé la phase de génération, de test et d'analyse, le pipeline déploie l'image d'application intégrée sur le projet Code Engine cible. Ce déploiement est maintenant prêt pour les tests d'acceptation ou d'intégration.

  1. Si la clé de l'interface de programmation dispose de l'accès requis, les zones suivantes se chargent automatiquement à l'aide de la clé d'interface de programmation créée, extraite d'un coffre ou spécifiée manuellement. Si la clé de l'interface de programmation est valide, les valeurs de la région du registre de conteneur et de l'espace de nom de la région, du nom, de l'espace de nom et du groupe de ressources sont automatiquement renseignée. Vous pouvez mettre à jour l'une de ces zones pour qu'elle corresponde à votre configuration.

    • Nom de l'application: Le nom de l'application. Le nom d'application par défaut est identique à celui de votre chaîne d'outils.

    • Clé d'interface de programmation IBM Cloud : La clé d'interface de programmation utilisée pour interagir avec l'outil de l'interface de ligne de commande ibmcloud dans plusieurs tâches. Utilisez l'une des méthodes suivantes pour spécifier la clé d'interface de programmation que vous souhaitez utiliser :

      • Cliquez sur l'icône de clé pour importer une clé d'API existante à partir d'un coffre-fort de votre choix.
      • Copiez et collez une clé d'interface de programmation existante.
      • Cliquez sur Nouveau pour créer une clé d'interface de programmation.
      • Générez un nouveau api-key si vous n'avez pas de clé d'interface de programmation existante.

      Vous pouvez immédiatement sauvegarder la clé d'interface de programmation générée sur un coffre existant de votre choix.

    • **Région du registre des conteneurs : la ** Région du registre des conteneurs dans laquelle se trouve votre espace de nom de conteneur.

    • Espace de nom du registre de conteneur : Sélectionnez dans la liste des espaces de nom de conteneur dans la région du registre des conteneurs associée.

    • Région Code Engine : Région dans laquelle se trouve votre projet Code Engine.

    • Groupe de ressources Code Engine : Groupe de ressources sur lequel votre projet Code Engine a été créé.

    • Projet Code Engine : Nom du projet qui a été créé dans Code Engine. Votre application est déployée dans ce projet.

    Code Engine Détails sur la cible de déploiement sécurisé des applications pour le déploiement continu ou bleu-vert Détails sur la cible de
    Code Engine déploiement continu sécurisé des applications

  2. Cliquez sur Continu.

Ajouter des intégrations d'outil facultatives

Vous pouvez ajouter l'intégration d'outils IBM Cloud® DevOps Insights à votre chaîne d'outils sans configuration supplémentaire.

DevOps Insights est inclus dans la chaîne d'outils créée. Vous n'avez pas besoin de fournir des étapes de configuration pour DevOps Insights. Le pipeline d'intégration continue utilise automatiquement l'instance DevOps Insights incluse dans la chaîne d'outils. DevOps Insights regroupe les données de code, de test, de génération et de déploiement pour fournir une visibilité à la vitesse et à la qualité de toutes vos équipes et éditions.

Cliquez sur Continu.

Compléter la configuration de la chaîne d'outils

Dans la page Récapitulatif, cliquez sur Créer une chaîne d'outils. Plusieurs étapes s'exécutent automatiquement pour configurer votre chaîne d'outils.

Vous pouvez configurer les intégrations de chaînes d'outils individuelles une fois que le pipeline a été créé.

Code Engine Résumé de la chaîne d'outils pour applications sécurisées
Code Engine Résumé de la chaîne d'outils pour applications sécurisées

Exploration de votre nouvelle chaîne d'outils

Une fois que la chaîne d'outils a été créée, les différentes intégrations d'outil qui la constituent s'affichent dans un diagramme.

Exploration des pipelines

Vous pouvez explorer les pipelines pour comprendre le flux de la chaîne d'outils et les différentes opérations qui s'exécutent dans chaque pipeline. La chaîne d'outils que vous avez créée contient les pipelines suivants :

  • Pipeline de demande d'extraction : S'exécute lorsqu'un développeur fusionne les modifications de sa branche de développement à la branche principale, ou à toute autre branche du référentiel. Le pipeline de demande d'extraction exécute les opérations de test d'unité et d'analyse statique sur le code source de l'application.
  • Pipeline d'intégration continue : S'exécute lorsque vous fusionnez une modification dans la branche principale du référentiel de code source d'application. Le pipeline d'intégration continue exécute le test d'unité, la couverture de code et les analyses statiques sur le code source de l'application, la vérification CIS et la vérification de nomenclature. Le pipeline de distribution continue génère également les artefacts de génération binaires et les télécharge sur IBM Cloud® Kubernetes Service, tel qu'il est configuré dans la chaîne d'outils. Et le pipeline d'intégration continue génère les métadonnées des artefacts de construction et les stocke dans le référentiel Inventory.
  • Pipeline de déploiement continu: déploie une image de composant Code Engine (que le pipeline d'intégration continue génère et déploie) sur un autre composant Code Engine à héberger dans un autre projet.

Exécution de la demande d'extraction et des pipelines d'intégration continue

Pour démarrer le pipeline de demande d'extraction, créez une demande de fusion dans votre application repo :

  1. Sur la page Présentation de la chaîne d'outils, sur la carte Référentiels, cliquez sur l'application du référentiel secure-app-toolchain-code-engine-demo.
  2. A partir du référentiel maître, créez une branche.
  3. Mettez à jour un code dans l'exemple d'application de noeud ou le fichier readme et sauvegardez ces modifications.
  4. Soumettez la demande de fusion.
  5. Sur la page Présentation de la chaîne d'outils, sur la carte Pipelines de livraison, cliquez sur le pipeline pr-pipeline pour ouvrir le tableau de bord de la demande d'extraction du pipeline. La demande de fusion correspondante dans votre application repo reste à l'état en attente jusqu'à ce que toutes les étapes du pipeline de demande d'extraction se terminent correctement.
  6. Une fois que l'exécution du pipeline de demande d'extraction aboutit, vous pouvez la sélectionner pour explorer les étapes terminées.

Succès du pipeline de demandes de
du pipeline de demandes de

Pour démarrer le pipeline d'intégration continue, fusionnez la demande de fusion d'intégration continue dans votre application repo :

  1. Accédez à la demande de fusion.

  2. Fusionner la demande afin que vos modifications soient copiées sur la branche principale de votre application repo. Le pipeline d'intégration continue est automatiquement déclenché.

  3. Sur la page Présentation de la chaîne d'outils d'intégration continue, sur la carte Pipelines de livraison, cliquez sur le pipeline ci-pipeline pour ouvrir le tableau de bord du pipeline d'intégration continue.

  4. Une fois l'exécution du pipeline d'intégration continue réussie, vous pouvez cliquer sur l'exécution du pipeline pour explorer les étapes terminées.

    Succès
    pipeline d'intégration continue*Succès du pipeline d'intégration

  5. Développez la tâche deploy-component et cliquez sur l'étape execute. Sélectionnez l'onglet Logs et faites défiler jusqu'à la fin du journal. Cliquez sur le lien vers votre application Code Engine déployée pour afficher l'application en cours d'exécution.

Etapes suivantes

Si vous souhaitez déployer le composant Code Engine (que le pipeline d'intégration continue génère et déploie) en tant qu'autre composant, pour être hébergé dans un autre projet Code Engine, procédez comme suit:

  1. Sur la page Présentation de la chaîne d'outils d'intégration continue, dans la fiche Pipelines de livraison, cliquez sur le pipeline cd-pipeline pour ouvrir le tableau de bord du pipeline de déploiement continu.

  2. Cliquez sur Exécuter le pipeline pour démarrer le déclencheur cd-manual-run.

  3. Une fois que l'exécution du pipeline de déploiement continu a abouti, vous pouvez cliquer sur l'exécution du pipeline pour consulter les étapes terminées.

    Succès
    pipeline de déploiement continu*Succès du pipeline de déploiement

  4. Développez la tâche deploy-component et cliquez sur l'étape Exécuter. Cliquez sur l'onglet Logs (Journaux), puis faites défiler jusqu'à la fin du journal. Cliquez sur le lien vers votre application Code Engine déployée pour afficher l'application en cours d'exécution.

Si vous souhaitez supprimer l'application exemple qui s'exécute sous Code Engine, procédez comme suit :

  1. Accédez à la page Code Engine Projects.

  2. Cliquez sur le projet sur lequel s'exécute votre application exemple.

  3. Sélectionnez Applications, puis cochez la case correspondant à votre application exemple.

  4. Cliquez sur Supprimer.

Besoin d'aide ?

IBM Cloud IBM l'assistant IA de , qui est alimenté par l' watsonx de , est conçu pour vous aider à découvrir comment travailler dans l' IBM Cloud, et à créer des solutions avec le catalogue de produits et services disponibles. Voir Obtenir de l'aide de l'assistant IA.

Pour plus d'options de support, voir Obtention de l'aide et du support pour Continuous Delivery.