Deploy de Aplicaciones en Heroku: Paso a Paso Práctico

Clase 35 de 35Curso de Desarrollo Web con PHP y Yii2

Resumen

Preparar proyecto de Yii2 con MySQL para desplegar en Heroku

Este tutorial te guiará a través de los pasos necesarios para configurar y desplegar un proyecto Yii2 en Heroku, utilizando una base de datos MySQL y asegurando que todas las configuraciones sean correctas para un entorno de producción.

1. Crear una cuenta en Heroku

  1. Registrarse en Heroku: Si no tienes una cuenta, ve a Heroku.com y regístrate.
  2. Instalar Heroku CLI: Descarga e instala Heroku CLI para manejar tu aplicación desde la terminal.

2. Configurar el proyecto Yii2 en el repositorio existente

  1. Configurar .gitignore: En la raíz de tu proyecto Yii2, asegúrate de que el archivo .gitignore excluya las siguientes carpetas y archivos innecesarios:

    /vendor/ /runtime/ /web/assets/ /tests/_output/ /composer.lock /.env

    Esto evitará que archivos innecesarios o confidenciales se suban al repositorio.

  2. Añadir el Procfile para Heroku: En la raíz de tu proyecto, crea un archivo llamado Procfile que Heroku usará para saber cómo ejecutar tu aplicación. Este archivo debería contener:

    web: vendor/bin/heroku-php-apache2 web/

    ¿Por qué vendor/bin/heroku-php-apache2 web/?

    • Compatibilidad con dependencias: Este comando asegura que Heroku use la versión específica de Apache que viene con el buildpack PHP de Heroku, instalada a través de Composer en la carpeta vendor/bin.
    • Gestión de dependencias: Garantiza que las versiones de las herramientas utilizadas están alineadas con las dependencias de tu proyecto, mejorando la consistencia y la estabilidad del entorno de producción.
    • Aislamiento y control: Al usar esta ruta, se asegura que los cambios en el entorno subyacente de Heroku no afecten a la ejecución de tu aplicación, manteniendo un entorno predecible.
  3. Configurar el archivo composer.json: Asegúrate de que todas las dependencias de tu proyecto están listadas y agrega un script para ejecutar migraciones de base de datos automáticamente después de instalar las dependencias:

    "scripts": { "post-install-cmd": [ "php yii migrate --interactive=0" ] }

3. Crear una base de datos MySQL en la nube

  1. Agregar ClearDB MySQL a tu aplicación en Heroku: Heroku ofrece ClearDB para utilizar MySQL. Puedes añadirlo a tu aplicación con el siguiente comando:

    heroku addons:create cleardb:ignite
  2. Obtener la URL de la base de datos: Después de crear la base de datos, obtén la URL de conexión ejecutando:

    heroku config | grep CLEARDB_DATABASE_URL
  3. Configurar la conexión a la base de datos en Yii2: Actualiza tu archivo config/db.php para usar la variable de entorno proporcionada por Heroku:

    'dsn' => getenv('CLEARDB_DATABASE_URL'), 'username' => 'usuario', 'password' => 'contraseña', 'charset' => 'utf8',

Siguiendo estos pasos, podrás preparar exitosamente tu aplicación Yii2 para desplegarla en Heroku, con la garantía de que todas las configuraciones necesarias para un entorno de producción están correctamente implementadas.

      Deploy de Aplicaciones en Heroku: Paso a Paso Práctico