Mise en production - demarches-simplifiees/demarches-simplifiees.fr GitHub Wiki

Avant de mettre en prod

  • Demander aux devs s’ils sont OK pour la MEP

Mettre en prod avec ds-cli

Lancer sur son poste :

./ds-cli deploy --env=prod

Puis :

  • Créer une Pull request de main dans production (ou laisser ds-cli le faire automatiquement)
  • Dans Github :
    • Modifier le titre de la PR pour avoir un format AAAA-MM-JJ-XX (où XX est le numéro de la release du jour en question) ;
    • Éditer et nettoyer les notes de version en modifiant la description de la PR ;
    • Une fois que les tests passent, merger la PR dans production.
  • Signaler à ds-cli que la PR est mergée, et confirmer le lancement du déploiement
  • Créer une nouvelle release sur GitHub et y inclure les notes de version (ou laisser ds-cli créer la release automatiquement)

Après la mise en prod

  • Si la release contient des nouveautés importantes, poster un message de succès sur #startup-ds une avec le lien vers la release
  • Faire le ménage dans le projet :
    • Déplacer dans la colonne “À communiquer” les issues avec le label a-communiquer
    • Enlever de la colonne les autres issues (flèche en haut à droite de la carte, puis "Remove from project")
  • Si la mise en production est conséquente, envoyer une newsletter informant nos utilisateurs des mises-à-jour principales
  • Traiter les issues avec les tags a-communiquer et sentry, cf. Gestion des issues

Rollback

En cas d'erreur en production, il est possible de revenir rapidement à la version précédente (sans avoir à tout rebuilder).

Pour revenir à la version précédente :

  1. Se connecter au Gitlab interne (développement ou production) ;
  2. Aller dans Project 'deploy' ▸ Pipelines ;
  3. Sur le dernier Pipeline en cours, cliquer sur le bouton "Rollback".

Notes :

  • Le rollback est très rapide (< 1mn), car on redirige juste un lien symbolique vers la version précédente (sans tout rebuilder).
  • Les migrations de base de donnée ne sont pas rollbackées.

Format des notes de version

# Nouveautés
- Item 1

# Améliorations et correctifs
## Majeurs
- Item 2

## Mineurs
- Item 3

# Technique
- Item 4