Un site de staging est une copie d'un site sur le même serveur, qui déploie une autre branche du même dépôt, sur sa propre adresse. Utilisez-le pour essayer une branche, comme develop ou staging, avant sa mise en ligne : chaque push sur cette branche déploie le site de staging, et lui seul.
Les sites de staging sont de vrais sites. Chacun a ses propres pages (déploiements, environnement, domaines, logs, etc.), son propre répertoire sur le serveur, sa propre clé de déploiement et sa propre URL de déploiement. Ils sont listés sur la page Staging du site qu'ils préparent, et sous lui sur la page Sites du serveur.
Créer un site de staging
- Ouvrez le site et cliquez sur Staging dans sa barre latérale.
- Cliquez sur Nouveau site de staging.
- Choisissez la Branche. Avec une connexion Git, les branches du dépôt vous sont suggérées (la branche que le site déploie lui-même est exclue) ; vous pouvez aussi saisir une branche que vous pousserez plus tard.
- Choisissez l'adresse :
- une Adresse sur
on-deploy.link, préremplie avec un nom généré qui commence parstaging-(quand les adresses générées sont disponibles). Elle obtient HTTPS toute seule dès qu'elle se résout ; ou - cliquez sur Utiliser un domaine personnalisé et saisissez un Domaine, comme
staging.example.com. Quand le domaine se trouve dans une zone de l'une de vos intégrations DNS, vous voyez les enregistrements que Vimonto Deploy va créer, comme lorsque vous ajoutez un domaine. Aucun enregistrementwww.n'est créé pour un domaine de staging.
- une Adresse sur
- Laissez Copier le .env activé pour partir du
.envdu site (affiché quand le site en a un). - Laissez Déployer à chaque push activé pour déployer le site de staging à chaque push sur sa branche (affiché pour les sites avec une connexion Git).
- Cliquez sur Créer un site de staging.
Le site de staging est mis en place comme tâche d'arrière-plan, comme un nouveau site, et son premier déploiement démarre une fois la mise en place terminée.
Quelle base de données un site de staging utilise-t-il ?
Jamais celle de production. Sur un serveur avec une base de données, chaque site de staging reçoit une nouvelle base vide et un utilisateur propre, nommés d'après son adresse (par exemple staging_example_com). Exécutez-y vos migrations et vos seeders : php artisan migrate --force dans son script de déploiement ne modifie jamais que la base de staging.
Sur un serveur sans base de données (par exemple un serveur web dont la base tourne sur un serveur de base de données séparé), le site de staging ne reçoit aucun réglage de base de données : le .env copié a des DB_DATABASE, DB_USERNAME et DB_PASSWORD vides. Créez une base pour le staging et renseignez-les sur sa page Environnement, jamais avec les identifiants de la base de production.
Que reçoit un site de staging ?
Un site de staging est créé avec Cloner le site, sur le même serveur, avec ces différences :
| Site de staging | |
|---|---|
| Dépôt, connexion Git, réglages de build, script de déploiement, notifications, redirections et règles de sécurité | Copiés depuis le site |
| Branche | Celle que vous avez choisie |
| Adresse et répertoire sur le serveur | Les siens |
| Clé de déploiement, URL de déploiement et webhook de push | Les siens |
| Base de données | Sa propre nouvelle base et son propre utilisateur (jamais la base du site) |
| Certificats, workers de file d'attente et processus, fonctionnalités du site, fichiers stockés par l'app | Non copiés |
Le .env d'un site de staging
Avec Copier le .env activé, le site de staging reçoit le .env du site avec :
APP_URLréglé sur l'adresse de staging ;APP_ENV=staging;- les valeurs
DB_CONNECTION,DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAMEetDB_PASSWORDde sa propre base, ou des réglages de base de données vides sur un serveur sans base de données.
Tout le reste, comme les réglages de mail, de cache et de file d'attente, reste identique à celui du site de production. Modifiez-les sur la page Environnement du site de staging s'il lui faut les siens.
Avec Copier le .env désactivé, le site de staging reçoit un .env neuf, comme un nouveau site, avec APP_ENV=staging.
Comment les push sont déployés
Le site et chacun de ses sites de staging ont leur propre webhook chez votre hébergeur Git, chacun avec sa propre URL de déploiement. Un push les atteint tous, et chacun ne déploie que si le push concerne sa propre branche :
- un push sur
maindéploie le site qui suitmain; - un push sur
developdéploie le site de staging qui suitdevelop.
Les autres webhooks répondent que le push ne concernait pas leur branche, et il ne se passe rien d'autre. Activez ou désactivez plus tard Déployer à chaque push d'un site de staging sur sa page Déploiements.
Déployer, ouvrir et supprimer des sites de staging
La page Staging liste chaque site de staging du site, avec sa branche, s'il déploie à chaque push, et son dernier déploiement. Pour chacun, vous pouvez :
- cliquer sur Déployer maintenant pour déployer sa branche tout de suite ;
- cliquer sur Ouvrir le site pour ouvrir son adresse dans un nouvel onglet ;
- cliquer sur son adresse pour aller aux pages propres du site de staging ;
- cliquer sur Supprimer, saisir son adresse puis cliquer sur Supprimer le site de staging pour le retirer.
Supprimer un site de staging fonctionne comme supprimer un site : il est retiré du serveur avec ses releases, son .env, ses workers et ses certificats, et Vimonto Deploy supprime les enregistrements DNS qu'il a créés pour lui, ainsi que sa clé de déploiement et son webhook chez votre hébergeur Git. Sa base de données est conservée ; supprimez-la sur la page Bases de données du serveur.
L'en-tête du site indique combien de sites de staging il a ; l'en-tête d'un site de staging affiche Staging de avec un lien vers son site.
Qui peut créer des sites de staging ?
Tous les membres peuvent voir les sites de staging. Les créer, les déployer et les supprimer demande la permission de gérer les sites, que possèdent les propriétaires, les administrateurs, les managers et les développeurs. Les sites de staging sont sur le même serveur que leur site : les membres qui peuvent ouvrir le site peuvent donc ouvrir ses sites de staging.
Foire aux questions
Tous les sites peuvent-ils avoir des sites de staging ?
Les sites avec un dépôt le peuvent. Les sites WordPress, phpMyAdmin et à répartition de charge ne le peuvent pas, et un site de staging ne peut pas avoir de sites de staging à lui.
Que deviennent les sites de staging quand je supprime le site ?
Ils restent, comme sites à part entière. Supprimez-les d'abord sur la page Staging si vous n'en avez plus besoin.
Puis-je mettre un site de staging sur un autre serveur ?
Pas depuis la page Staging : les sites de staging se trouvent sur le serveur de leur site. Utilisez Cloner le site pour faire une copie sur un autre serveur.
Pourquoi la branche du site de staging n'est-elle pas suggérée ?
Les branches sont suggérées pour les sites avec une connexion Git. Pour un site avec une simple URL Git, saisissez le nom de la branche.