Configuración de la integración continua de CircleCI con Laravel: luego implemente Forge o Fortrabbit

Incluir la integración continua es genial, pero hay muchos proveedores entre los que elegir. CircleCI tiene un plan gratuito bastante decente, pero usarlo para tu aplicación Laravel puede resultar un poco confuso.

Instrucciones para implementar Laravel 5.5 con Circle CI:

Este sitio tiene un bonito script repetitivo:

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

Pero si encontraste un guión mejor, déjanos saber en los comentarios.

Asegúrese de haber especificado las variables del entorno de prueba en .env.testing y phpunit.xml si está utilizando PHPUnit.

¿Obtienes un error de raíz de MySQL?

Desde marzo de 2021, a veces nos aparece este error:

[ERROR] [Punto de entrada]: MYSQL_USER="root", MYSQL_PASSWORD no se puede usar para el usuario root. Utilice una de las siguientes opciones para controlar la contraseña del usuario root: - MYSQL_ROOT_PASSWORD - MYSQL_ALLOW_EMPTY_PASSWORD - MYSQL_RANDOM_ROOT_PASSWORD

Lo solucionamos cambiando MYSQL_USER a otro nombre que no sea 'root'.

Implementación en Laravel Forge a través de CI

Después de eso, llama a este script forge-deploy.sh en tu paso final en config.yml:

  - ejecutar: nombre: Ejecutar comando de script de implementación: sudo chmod +x ./deploy.sh; sudo ./deploy.sh

Luego, crea un script deployment.sh en tu aplicación e incluye la URL del activador de implementación de Laravel Forge/Envoyer (se puede encontrar en el panel de tu aplicación en Laravel Forge/Envoyer):

#!/bin/bash # Desencadenador de implementación # Reemplace la URL a continuación con su URL de envoyer/forge # APLICACIÓN1 curl -s 'https://forge.laravel.com/servers/123456...'; # APLICACIÓN2: si tiene varias aplicaciones que necesitan implementarse y activarse, curl -s 'https://forge.laravel.com/servers/12345678...'; echo '¡Implementación activada!'

Después de esto, puedes enviarlo a Github o Bitbucket y ver si la compilación se realiza correctamente y se implementa en Laravel Forge/Envoyer. Asegúrate de deshabilitar la implementación automática, ya que solo querrás implementar en Laravel Forge/Envoyer después de una compilación de CI exitosa.

Implementar en Fortrabbit con CircleCI

¿Prefieres implementar en Fortrabbit en lugar de Laravel Forge después de una compilación exitosa de CircleCI?

Obtenga más información sobre el uso de CI con Fortrabbit aquí.

Para configurar la implementación en Fortrabbit desde CircleCI, siga este procedimiento:

  1. Ejecute este script en un cliente de terminal: ssh-keygen -m PEM -t rsa -C “su_correo_electró[email protected]
  2. Copiar la clave privada a CircleCI
  3. Vaya al proyecto -> Claves SSH -> Claves SSH adicionales Ingrese el nombre de host: deployment.XYZ.frbit.com (reemplace XYX con la ubicación de su servidor Fortrabbit)
  4. Agregue la clave pública en el administrador de claves SSH públicas del panel de control de Fortrabbit
  5. Agregue la huella digital que ve en el panel de CircleCI al archivo config.yml:
  6. NOTA: agregar una clave SSH a un servicio de terceros siempre conlleva riesgos, tenga en cuenta ellos y si es demasiado riesgoso, no realice estos pasos.
versión: 2 trabajos: trabajo-de-implementación: pasos: - add_ssh_keys: huellas digitales: - "SO:ME:FIN:G:ER:PR:IN:T"

Intente enviar los archivos actualizados a Github o Bitbucket.

Comprueba si esta compilación funciona correctamente. Si no, soluciona los problemas hasta que funcione.

Agregue este código al script circleci/config.yml después de los pasos de prueba:

      - ejecutar: nombre: Agregar huella remota FRBIT comando: git remote add frbit YOURFRBITGITURL - ejecutar: nombre: Agregar huella remota FRBIT a hosts conocidos comando: ssh-keyscan deployment.XYZ.frbit.com >> ~/.ssh/known_hosts - ejecutar: nombre: Implementar en FRBIT comando: git push frbit

No olvides reemplazar las variables YOURFRBITGITURL y XYZ.

El uso de estos scripts e instrucciones se realiza, por supuesto, bajo su propio riesgo.

¿Tienes alguna sugerencia para mejorar el flujo de trabajo? ¡Cuéntanoslo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESEspañol
Ir arriba