Una vez que hemos terminado la Clase #48- Variables de Entorno, comenzamos el proceso de publicación de nuestro proyecto de Php a Heroku, para ello debemos prepararlo ya que nuestro entorno en dicha plataforma no será igual que nuestro entorno local.
Prepara el proyecto:
-
Por seguridad realiza una copia del proyecto ya que haremos algunos cambios para poder subirlo a Heroku.
-
Si en el ambiente local se trabajaba con una carpeta dentro de htdocs de apache, entonces debemos quitar todos los enlaces a dicha carpeta y reemplazarlos por “/“ (ruta raíz- como el profesor lo hace en el curso):
-
Dentro de la carpeta “views” se deberá modificar en la sección action de los forms y en la etiqueta href de logout en admin.twig (la pagina de dashboard).
-
Dentro de la carpeta “controller” en el archivo AuthController.php en el método getLogout donde se utiliza “RedirectResponse” quitar el nombre del proyecto de la ruta de redirección.
- En el archivo “.gitignore” incluir el archivo que creamos en la clase 48 “.env” ya que no lo vamos a subir a heroku, además es necesario que borremos las lineas del archivo index.php dentro de la carpeta public:
$dotenv = Dotenv\Dotenv::create(__DIR__ . '/..');
$dotenv->load();
Esto lo hacemos porque ya no vamos a necesitar cargar nuestro archivo de configuración sino que heroku nos va a proporcionar a través de su Dashboard una opción para registrar las variables de entorno.
Sube el proyecto a Heroku:
Para ello será necesario que tengamos instalado git en nuestro equipo y que hayamos creado una cuenta en heroku.com.
-
Abrimos una ventana del terminal y nos dirigimos hacia el proyecto que hemos modificado con los pasos previos.
-
Verificamos con la instrucción
“git status”
que todos los cambios que realizamos anteriormente se encuentren en nuestro working directory. -
Verificamos que estemos en la rama master
git checkout master
-
Y pasamos todos los cambios al stagging area con la instrucción
git add .
-
Luego pasamos estos cambios al repositorio git con un
git commit -m “Proyecto listo para producción-heroku”
-
Continuando en el terminar, ingresar a nuestra cuenta heroku con el comando:
git login
-
Aparecerá un mensaje que nos pedirá presionar cualquier tecla para continuar y nos llevará hacia una página del navegador donde nos pedirá ingresar a la cuenta de heroku.
-
Una vez que damos clic en “login” cerramos la ventana del navegador y regresamos al terminal.
-
Con el siguiente comando crearemos la aplicacion en heroku , en este caso yo he decidido llamarla “introphpemasiel”, esto se lo puede reemplazar por el nombre que deseen.
heroku create introphpemasiel
-
Luego haremos un push hacia heroku para publicar nuestra aplicación.
git push heroku master.
** Configurar el proyecto en Heroku:**
-
Abrimos una ventana del navegador y nos dirigimos hacia https://dashboard.heroku.com/apps
-
Damos clic sobre la aplicación que acabamos de subir
-
Ir a la pestaña Resources
-
En la sección de Add-Ons, escribiremos Postgres (que es la base de datos gratuita que vamos a utilizar en el proyecto).
-
Nos aparecerá una pantalla como la siguiente y daremos clic en provision:
-
Luego se damos clic sobre el add-on creado “Heroku-postgre”, esto nos abrirá otra ventana.
-
En esta nueva ventana, nos dirigimos a Settings y en la sección Administration - DataBase Credential damos clic en “View Credentials”, nos aparecerá todos los datos de nuestra base de datos y la guardaremos en algún archivo para configurar las variables de entorno.
-
Regresamos a la ventana anterior (la de nuestra aplicación en heroku) y nos dirigimos a la pestaña Settings.
-
En la sección ConfigVars, daremos clic sobre el botón “Reveal Config Vars”
-
Allí configuraremos los datos para conectarnos a nuestra base de datos con los datos del ** paso 7,** registraremos las variables de entorno con el mismo nombre que las configuramos en nuestra archivo .env.
-
Luego abrimos PgAdmin4 y creamos un nuevo servidor de base de datos también utilizando los datos del paso 7.
-
Clic en Save.
-
Una vez que estemos conectados, procedemos a buscar nuestra base de datos y comenzaremos a añadir las tablas que utilizamos en el proyecto.
Una vez que tengamos listo la base de datos, ya podremos ver nuestro proyecto publicado y funcionado como lo hacía localmente.
Curso de Introducción a PHP 2018