Configurer l’intégration continue de CircleCI avec Laravel – Puis déployer Forge ou Fortrabbit

L'intégration continue est une bonne chose, mais il existe de nombreux fournisseurs parmi lesquels choisir. CircleCI propose un plan gratuit assez correct, mais son utilisation pour votre application Laravel peut être un peu déroutante.

Instructions pour déployer Laravel 5.5 avec Circle CI :

Ce site a un joli script standard :

https://medium.com/@wesmahler/circleci-2-0-configuration-for-laravel-5-5-with-laravel-dusk-ab1cc9b9d4a7

Mais si vous avez trouvé un meilleur script, faites-le nous savoir dans les commentaires.

Assurez-vous d'avoir spécifié les variables d'environnement de test dans votre .env.testing et phpunit.xml si vous utilisez PHPUnit.

Vous obtenez une erreur racine MySQL ?

Depuis mars 2021, nous avons parfois cette erreur :

[ERREUR] [Point d'entrée] : MYSQL_USER="root", MYSQL_PASSWORD ne peut pas être utilisé pour l'utilisateur root. Utilisez l'une des options suivantes pour contrôler le mot de passe de l'utilisateur root : - MYSQL_ROOT_PASSWORD - MYSQL_ALLOW_EMPTY_PASSWORD - MYSQL_RANDOM_ROOT_PASSWORD

Nous avons résolu le problème en changeant MYSQL_USER en un autre nom que « root ».

Déploiement sur Laravel Forge via CI

Après cela, appelez ce script forge-deploy.sh dans votre dernière étape dans config.yml :

  - exécuter : nom : Exécuter le script de déploiement commande : sudo chmod +x ./deploy.sh ; sudo ./deploy.sh

Créez ensuite un script deploy.sh dans votre application et incluez l'URL de déclenchement du déploiement Laravel Forge / Envoyer (trouvée dans le tableau de bord de votre application dans Laravel Forge / Envoyer) :

#!/bin/bash # Déclencher le déploiement # Remplacez l'URL ci-dessous par votre URL d'envoi/forge # APPLICATION1 curl -s 'https://forge.laravel.com/servers/123456...'; # APPLICATION2 - si vous avez plusieurs applications qui doivent être déployées et déclenchées curl -s 'https://forge.laravel.com/servers/12345678...'; echo 'Déploiement déclenché !'

Après cela, vous pouvez envoyer la version vers Github ou Bitbucket et voir si la version réussit et se déploie sur Laravel Forge / Envoyer. Assurez-vous de désactiver le déploiement automatique, car vous ne souhaitez effectuer le déploiement sur Laravel Forge / Envoyer qu'après une version CI réussie.

Déployer sur Fortrabbit avec CircleCI

Vous préférez plutôt déployer sur Fortrabbit plutôt que sur Laravel Forge après une build CircleCI réussie ?

En savoir plus sur l'utilisation de CI avec Fortrabbit ici.

Pour configurer le déploiement sur Fortrabbit depuis CircleCI, suivez cette procédure :

  1. Exécutez ce script sur un client terminal : ssh-keygen -m PEM -t rsa -C “[email protected]
  2. Copiez la clé privée sur CircleCI
  3. Accédez au projet -> Clés SSH -> Clés SSH supplémentaires Entrez le nom d'hôte : deploy.XYZ.frbit.com (remplacez XYX par l'emplacement de votre serveur Fortrabbit)
  4. Ajoutez la clé publique dans le gestionnaire de clés SSH publiques du tableau de bord Fortrabbit
  5. Ajoutez l’empreinte digitale que vous voyez dans le tableau de bord CircleCI au fichier config.yml :
  6. REMARQUE : l'ajout d'une clé SSH à un service tiers comporte toujours des risques, soyez-en conscient et si c'est trop risqué, ne suivez pas ces étapes.
version : 2 tâches : déployer-tâche : étapes : - add_ssh_keys : empreintes digitales : - « SO:ME:FIN:G:ER:PR:IN:T »

Essayez de pousser les fichiers mis à jour vers Github ou Bitbucket.

Vérifiez si cette version réussit. Si ce n'est pas le cas, corrigez les problèmes jusqu'à ce qu'elle fonctionne.

Ajoutez ce code au script circleci/config.yml après les étapes de test :

      - run: nom: Ajouter une empreinte distante FRBIT commande: git remote add frbit YOURFRBITGITULURL - run: nom: Ajouter une empreinte distante FRBIT aux hôtes connus commande: ssh-keyscan deploy.XYZ.frbit.com >> ~/.ssh/known_hosts - run: nom: Déployer sur FRBIT commande: git push frbit

N'oubliez pas de remplacer les variables YOURFRBITGITURL et XYZ.

L'utilisation de ces scripts et instructions se fait bien entendu à vos propres risques.

Vous avez des suggestions pour améliorer le flux de travail ? Faites-le nous savoir !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais
Défiler vers le haut