Skip to content
Cyrille Polier edited this page Dec 14, 2022 · 4 revisions

Via Github Actions

Fichier de configuration : laravel.yml

Tests

Utilisation d'une environnement de test basé sur une action installant PHP. l'application est ensuite installés à l'aide de composer.

Les fichiers et commandes nécessaires sont ensuite créés et/ou exécutés afin que l'environnement soit prêt pour les tests.

ensuite PHPUnit est lancé afin de faire les tests requis.

Déploiement

Variable

  • clé privée
  • IP du serveur de déploiement
  • IP et port ssh du serveur de déploiement
  • path absolu sur le server pour le déploiement

Procédure

la même action est utilisé afin de générer notre environnement de déploiement. Pour communiquer avec le serveur de déploiement une clé privé est utilisée tandis que la clé publique est dans les clés autorisées du serveur. Cette clé est chargé via une action dédiée. Une autre paire de clé est également utilisée pour la communication en sens inverse, la clé publique est ajoutée dans les deploy keys du projet.

Laravel Envoy est ensuite ajouté et c'est lui qui gère l’envoi des commandes sur le serveur de déploiement.

Script envoy

script

Un script envoy se découpe en plusieurs parties, qui sont découpé en utilisant la synthaxe Blade

la directive setup permet de configuré le serveur envoy et la directive server crée une liste de serveur à utiliser.

Les tâches (task) sont regroupé en procedure (story). Chaque élément peut être appelé via la commande 'php envoy run "name"'. Ce qui permet de bien séparé les tâches pour amélioré la maintenabilité. L'usage d'envoy en lieu et place d'une connexion ssh native permet une meilleure segmentation des tâches, ainsi qu'un meilleures portabilité si le moteur CI/CD change au cours du projet.

StyleCI

L'ajout de StyleCI permet de garantir un certain niveau de qualité de code. Un pull-request est proposé après chaque push afin de soigner les convention de codage de manière automatisée.