Deploy CodeIgniter 4 Heroku


Deploy CodeIgniter 4 Heroku

En este artículo veremos como hacer un Deploy en CodeIgniter 4 en Heroku + postgresql conexión, con el uso de comandos git, heroku es una alternativa a un shared hosting, especialmente recomiendo namecheap, por su calidad de servicio y precios económicos, si buscas un ejemplo con un hosting compartido sigue el siguiente tutorial.

Deploy CodeIgniter 4 en Heroku usando Git                  

Primero es necesario tener instalado git, nodejs y crearnos una cuenta en heroku, luego procedemos a instalar heroku con el uso de alguna herramienta de paquetes, para este tutorial usaremos snapd.

Instalamos el gestor de paquetes.

sudo apt install snapd

Instalamos heroku.

sudo snap install --classic heroku

Verificamos la versión instalada.

sudo heroku –version

Heroku Versión

Login – Usando Heroku Cli

Es momento de logearnos en heroku.

sudo heroku login

Heroku Login

Si no abre una nueva ventana en el navegador, copiar la dirección de enlace y pegarla en el navegador.

Heroku Cli

Una vez logeados creamos un nuevo proyecto, colocarle como parámetro el nombre del proyecto, porque si no creara un nombre de proyecto al azar.

sudo heroku create tutorial-ci4

Deploy CodeIgniter Heroku - Create

Luego iremos a nuestro dashboard y tendremos el proyecto creado, también podemos crearlo desde el panel.

Interfaz Gráfica

Abrimos el proyecto en el navegador.

Deploy CodeIgniter 4 Heroku - Navegador

Iremos a la raíz de nuestro proyecto y crearemos un archivo Procfile.

sudo echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile

Setearemos el repositorio de git que tengamos, con el repositorio de heroku.

sudo heroku git:remote -a tutorial-ci4

Deploy CodeIgniter 4 Heroku - Git Remote

Agregamos todos los archivos con su respectivo mensaje.

git add .
git commit -m "add project"

Comando Git add

Realizamos el push, añadiendo las credenciales, es necesario agregar la api key en el password.

git push heroku master

Deploy CodeIgniter 4 Heroku - Master


Buscamos y copiamos la api key.

api key

Pegamos la api key y el proyecto se subirá a la rama máster al menos que creemos otra.

Deploy CodeIgniter 4 Heroku - Push

Vamos al navegador y ya tenemos el proyecto en marcha.

Deploy CodeIgniter 4 Heroku - Proyecto en marcha

Podemos ingresar a la bash de la siguiente manera.

sudo heroku run bash

Heroku Bash

En el caso que trabajemos con información en base de datos es necesario configurar los archivos pertinentes.

php spark migrate

Migraciones

Añadiremos un Add-ons para trabajar con postgresql el cual es gratis.

Agregando Add-on

Realizamos la orden gratuita para continuar.

Orden Gratuita

Luego veremos el panel de base de datos.

Vista del panel

Buscaremos las credenciales para continuar.

Buscar credenciales

Copiamos las credenciales de nuestra base de datos para configurarla posteriormente.

Hubicar Variables de entorno

En las variables de entorno copiaremos las credenciales, lo cual quedaría de la siguiente manera, recuerden colocar el estado de desarrollo en production.

Copiar las variables de entorno al proyecto

También podemos realizar las configuraciones en el siguiente archivo, nombreProyecto/App/Config/Database.php


            public $default = [
            'DSN'      => '',
            'hostname' => 'localhost',
            'username' => '',
            'password' => '',
            'database' => '',
            'DBDriver' => 'MySQLi',
            'DBPrefix' => '',
            'pConnect' => false,
            'DBDebug'  => (ENVIRONMENT !== 'production'),
            'charset'  => 'utf8',
            'DBCollat' => 'utf8_general_ci',
            'swapPre'  => '',
            'encrypt'  => false,
            'compress' => false,
            'strictOn' => false,
            'failover' => [],
            'port'     => 3306,
             ]; 
            

Variables de entorno en codeigniter 4