Passer au contenu principal

RP - Déploiement en pré-production

SOPT technique,SOPT, Mai 2025. Workflow de déploiement en pré-production, de la PR validée jusqu'à l'exécution du script Deployer.

Certaines étapes de ce workflow sont temporaires et seront remplacées par un déclenchement à distance via workflow_dispatch GitHub Actions (prévu dans un prochain sprint tech).


Étape 1 - Merger la PR vers dev

Une fois la PR approuvée par les pairs, effectuer le merge dans dev via GitHub.


Étape 2 - Prévenir l'équipe sur Slack

Envoyer un message dans le salon #équipe_technico_santé pour signaler le déploiement imminent :

:fusée: Déploiement de RP en PP en cours ...

Étape 3 - Mettre à jour l'environnement local

Basculer sur la branche dev, la mettre à jour et synchroniser les dépendances :

git checkout dev
git pull
composer install
symfony console cache:clear

Étape 4 - Modifier temporairement deploy.php (temporaire, uniquement pour Reconnect Pro)

Ne pas committer cette modification. Cette étape est vouée à disparaître avec l'arrivée du workflow_dispatch.

Dans deploy.php à la racine du projet, localiser la tâche deploy:restart_workers et adapter les lignes commentées pour cibler la pré-production :

  • Commenter la ligne sudo systemctl restart messenger_worker@*.service
  • Décommenter les 3 lignes suivantes :
    • sudo systemctl restart messenger_worker_async@*.service
    • sudo systemctl restart messenger_worker_dmp@*.service
    • sudo systemctl restart messenger_worker_export@*.service
Voir l'état attendu du bloc dans deploy.php

task('deploy:restart_workers', function () {
// run('sudo systemctl restart messenger_worker@*.service');
run('sudo systemctl restart messenger_worker_async@*.service');
run('sudo systemctl restart messenger_worker_dmp@*.service');
run('sudo systemctl restart messenger_worker_export@*.service');
});


Étape 5 - Lancer le déploiement

Exécuter le script de déploiement via :

make deploy-preprod

Étape 6 - Valider le déploiement et rétablir deploy.php

Poster un message de confirmation dans le salon #équipe_technico_santé :

Déploiement de RP en PP :fusée:

Puis rétablir deploy.php dans son état d'origine :

  • Décommenter la ligne sudo systemctl restart messenger_worker@*.service
  • Commenter les 3 lignes pré-production :
    • sudo systemctl restart messenger_worker_async@*.service
    • sudo systemctl restart messenger_worker_dmp@*.service
    • sudo systemctl restart messenger_worker_export@*.service

Ne pas committer cette modification. Le fichier doit rester dans son état production pour tout déploiement ultérieur.

Voir l'état attendu du bloc rétabli

task('deploy:restart_workers', function () {
run('sudo systemctl restart messenger_worker@*.service');
// run('sudo systemctl restart messenger_worker_async@*.service');
// run('sudo systemctl restart messenger_worker_dmp@*.service');
// run('sudo systemctl restart messenger_worker_export@*.service');
});