Aller au contenu

Gestion du cycle de vie applicatif

Comment exécuter des environnements de production, de build, de base de données et de test sur Stack Harbor PaaS, puis déployer et mettre à niveau sans interruption via la permutation de domaines.

Les applications avec une logique métier et des interfaces personnalisées ont besoin d’un flux de développement qui permet d’itérer sans casser ce que voient les utilisateurs. Même un petit projet bénéficie de la séparation des environnements de dev, de test et de production. Cette page décrit le motif standard de la plateforme : un environnement de production, un environnement de build, une base de données partagée et un environnement de test que vous permutez en production lorsqu’une version est prête.

Le motif recommandé garde l’environnement de test aussi proche que possible de la production, avec un rafraîchissement périodique de la base de test à partir des données de production. Les deux environnements peuvent pointer vers le même niveau de base de données lorsque vous voulez une source unique de vérité, ou vers des bases distinctes lorsque vous voulez isoler les tests.

L’exemple ci-dessous utilise une application Java/GlassFish, mais le même motif fonctionne pour n’importe quel runtime pris en charge.

Créer l’environnement de production

  1. Connectez-vous au tableau de bord.
  2. Créez un nouvel environnement.
  3. Sélectionnez le serveur applicatif (par exemple GlassFish), définissez la limite de ressources, nommez l’environnement (par exemple prodenv), puis cliquez sur Créer.

L’environnement est prêt en environ une minute.

Créer l’environnement de build

Vous pouvez construire les applications sur la plateforme plutôt que de compiler localement et téléverser des archives WAR. Le build s’exécute dans le nuage, consomme moins de votre bande passante et tire le code source directement depuis votre dépôt Git ou SVN.

  1. Créez un nouvel environnement avec Maven comme outil de build. Nommez-le par exemple buildenv. Aucun nœud de calcul n’est requis — Maven s’exécute seul.
  2. L’environnement est créé en quelques minutes.

Un seul environnement de build peut construire des projets pour n’importe quel nombre d’environnements cibles.

Construire et déployer le projet

  1. Ajoutez votre projet à Maven. Dans la boîte de dialogue, allez à l’onglet Git (ou SVN). Spécifiez le nom du projet, le chemin du dépôt, la branche, les identifiants, l’environnement cible et le contexte de déploiement. Cliquez sur Ajouter.
  2. Cliquez sur Construire et déployer à côté de votre projet.

L’artéfact compilé est livré dans l’environnement de production au contexte spécifié.

Créer l’environnement de base de données

Un environnement de base distinct permet à plusieurs environnements applicatifs de partager un seul niveau de données.

  1. Créez un nouvel environnement et choisissez le moteur de base (par exemple MySQL).
  2. Une fois l’environnement actif, cliquez sur Ouvrir dans le navigateur pour le nœud de base. La plateforme envoie une notification avec les identifiants. Créez le compte de base et le schéma pour votre application.

Configurer la connexion à la base

  1. Cliquez sur Config à côté du serveur applicatif dans votre environnement de production.
  2. Dans le gestionnaire de fichiers, créez mydb.cfg sous /opt/glassfish3/temp/ avec les détails de connexion :
host=jdbc:mysql://mysql{node_id}-{your_env_name}.{hoster_domain}/{db_name}
username={depuis le courriel}
password={depuis le courriel}
driver=com.mysql.jdbc.Driver

Vous pouvez aussi conserver ces valeurs directement dans le code de l’application. L’approche par fichier de configuration les garde simplement hors du JAR.

  1. Téléversez le connecteur MySQL dans /opt/glassfish3/glassfish/domains/domain1/lib/.
  2. Redémarrez GlassFish et ouvrez l’application dans un navigateur.
  3. Liez un domaine personnalisé à l’environnement de production. Cliquez sur Paramètres pour l’environnement, ouvrez Domaines personnalisés et ajoutez votre domaine via un CNAME. L’URL de production devient par exemple production.com.

Créer l’environnement de test

Le moyen le plus rapide d’obtenir un environnement de test représentatif est de cloner la production. Le clone inclut chaque conteneur, chaque WAR/JAR déployé et un instantané de la base de données.

  1. Clonez votre environnement de production. Nommez le clone testenv.
  2. Ouvrez-le dans un navigateur pour confirmer son fonctionnement.

Vous avez maintenant deux environnements identiques — un servant le trafic, un pour préparer les changements.

Mettre à niveau l’application

Quand vous avez des changements à livrer :

  1. Ajoutez la nouvelle version du projet à Maven.
  2. Cliquez sur Construire et déployer pour le nouveau projet contre testenv. L’artéfact est livré dans le contexte spécifié.
  3. Liez un domaine de préproduction (par exemple test.com) à testenv via Paramètres.
  4. Ouvrez l’URL de préproduction et vérifiez la nouvelle version.
  5. Une fois la version de préproduction validée, permutez les domaines : ouvrez Paramètres pour l’un des environnements, allez à Domaines personnalisés et cliquez sur Permuter.

La permutation est instantanée — production.com pointe maintenant vers l’environnement fraîchement construit, et test.com pointe vers l’ancienne production. Les utilisateurs ne voient aucune interruption. Si la nouvelle version se comporte mal, permutez à nouveau.

Voir aussi