¿Qué voy a aprender?
Hacer el Despliegue o Deploy de una aplicación es algo muy sencillo de entender, te pongo un claro ejemplo.Estás desarrollando una aplicación con Laravel 5 y tienes varios entornos:
- Local: aquí desarrollas tu proyecto, es el servidor que tienes instalado en tu equipo de desarrollo, por ejemplo Laragon.
- Staging: cuando el cliente te pida algunos cambios, deberás hacerlos en local, pero además, deberás subirlos a algún servidor para que el cliente los pueda ver, ese servidor será éste.
- Producción: La aplicación expuesta a todo el mundo, es el servidor al que subirás tu proyecto cuando todo esté listo y el cliente te haya dado el ok en staging.
Si no has hecho el Despliegue de aplicaciones correctamente antes, estoy seguro de que todo lo anterior te parecerá mucho trabajo, pero si lo haces bien, realmente es muy poco, y eso es justamente lo que te quiero explicar en este curso, aparte de otros muchos más temas importantes para cualquier desarrollador profesional.
En Laravel tenemos una herramienta llamada Envoy que nos permite escribir tareas, tareas que serán ejecutadas en nuestros distintos entornos de una forma muy sencilla:
@macro('app:deploy', ['on' => $on, 'confirm' => true]) git:pull composer:install assets:install migrate cache:clear @endmacro
Puedes ver de qué te hablo, ese script hará el Deploy a uno de tus servidores, el que tú le digas con la variable $on, pero además, antes de hacer nada te pedirá confirmación con un prompt. Una vez le des luz verde hará lo siguiente:
- Actualizará el código de un servidor con el código de tu repositorio utilizando la rama que tú le digas.
- Instalará las dependencias de php y javascript con composer y yarn o npm.
- Ejecutará las migraciones y seeds si es necesario.
- Limpiará la caché por completo para que todo esté funcionando correctamente.
¿Impresionado?
Pero eso no es todo lo que vamos a ver en este curso, también veremos cómo crear y configurar de forma completa un servidor utilizando Ubuntu 16.04 con los servicios de Amazon, instalar y configurar PHP 7.2, bases de datos MySQL, acceso SSH, instalar y configurar certificados SSL para que se renueven de forma automática y mucho más.
Si quieres aprender a hacer el Despliegue de tus sitios utilizando AWS con Laravel y Envoy ahorrando cantidades ingentes de horas de desarrollo de forma correcta y controlando todo lo que pasa en cualquier entorno desde tu proyecto, no lo dudes, inscríbete ahora.
Requisitos recomendados para tomar el curso
- Laravel 5.5 o superior
- Nivel básico de MySQL
- Saber utilizar una línea de comandos a nivel básico
- Conexión a Internet
- Trabajaremos con git, es necesario tener una cuenta en GitHub
- Composer y PHP 7.1 o superior
- Trabajar en Mac o Linux
¿Para quién es este curso?
Este curso debería ser un requisito para desarrolladores web que utilicen Laravel y deseen hacer el Deploy de sus sitios con AWS o servicios similares de forma automática, esta es la receta perfecta para hacerlo sin errores y paso a paso.¿Qué hago si tengo dudas a lo largo del curso?
Este curso cuenta con su propio foro para recibir ayuda en caso de que la necesites, una vez te hayas inscrito podrás acceder siempre que quieras. Las dudas planteadas en el foro normalmente son respondidas el mismo día para acelerar la fase de aprendizaje.Contenido del Curso
Introducción | |||
Laravel 5.7, Envoy y Amazon Web Services: Introducción | GRATIS | 00:06:00 | |
Laravel 5.7, Envoy y Amazon Web Services: Herramientas que vamos a utilizar en el curso | GRATIS | 00:05:00 | |
Laravel 5.7, Envoy y Amazon Web Services: Archivos del curso | 00:00:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Todos los comandos que vamos a necesitar con explicaciones detalladas | 00:00:00 | ||
Preparando el proyecto con Laravel 5.7 y acceso SSH a AWS | |||
Laravel 5.7, Envoy y Amazon Web Services: Crear proyecto con Laravel 5.7, repositorio privado con git y primer push | 00:03:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Crear una micro instancia con AWS EC2 utilizando Ubuntu | 00:04:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Dar permisos a nuestro archivo .pem para acceder a nuestra instancia por SSH | 00:03:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Introducción a Ubuntu y GNU Nano | 00:01:00 | ||
Montando nuestro servidor en Ubuntu con Apache y PHP 7.2 | |||
Laravel 5.7, Envoy y Amazon Web Services: Conociendo apt-get y haciendo la instalación de un servidor Apache | 00:02:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Configurar los Security Groups de nuestra instancia para permitir el puerto 80 | 00:01:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Instalar Composer y PHP 7.2 | 00:02:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Instalar paquetes necesarios para Laravel y añadir permisos a /var/www/html | 00:02:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Generar clave en nuestro servidor para utilizar repositorios privados en git | 00:04:00 | ||
Primeros pasos con Envoy | |||
Laravel 5.7, Envoy y Amazon Web Services: Crear archivo Envoy y primera Task | 00:07:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Inicializar variables en la sección @setup | 00:03:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Definir variables requeridas al ejecutar Envoy o cancelar con excepciones | 00:02:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Crear tarea con Envoy para clonar nuestro proyecto en el nuevo servidor (deploy) | 00:05:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Consejo para prevenir problemas del user agent | 00:00:00 | ||
Document Root, instalar y configurar MySQL, crear nuevo usuario de base de datos | |||
Laravel 5.7, Envoy y Amazon Web Services: Configurar .env en Ubuntu, permisos a Storage y Task composer:install con Envoy | 00:07:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Habilitar mod_rewrite en Ubuntu a nueva Task con Envoy para actualizar el código | 00:07:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Instalar y configurar MySQL | 00:03:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Crear usuario MySQL con privilegios y acceder a nuestra base de datos por SSH | 00:06:00 | ||
Nuevas tareas con Envoy, Scaffold de autenticación y migraciones | |||
Laravel 5.7, Envoy y Amazon Web Services: Crear el Scaffolding de autenticación de Laravel, migraciones y deploy con Envoy | 00:05:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Instalar Laravel Debugbar y hacer Deploy con Envoy para actualizar Servidor | 00:03:00 | ||
Instalar Nodejs y Yarn, mapear dominio y certificado SSL con Let's Encrypt | |||
Laravel 5.7, Envoy y Amazon Web Services: Instalar Nodejs y Yarn | 00:02:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Mapear un dominio de nuestra autoridad a nuestra instancia | 00:05:00 | ||
Laravel 5.7, Envoy y Amazon Web Services: Añadir certificado SSL, abrir puerto 443 en AWS y validar el certificado | 00:06:00 | ||
Macros en Envoy y despedida | |||
Laravel 5.7, Envoy y Amazon Web Services: Crear una macro con Envoy reutilizando tareas para hacer Deploy completo | 00:08:00 |
99 ALUMNOS MATRICULADOS
Excelente Curso!!!
El curso me ha servido a la perfección.
Muy claro como siempre el instructor entrega todo lo necesario para no tener ningún tipo de inconvenientes a la hora de realizar el despliegue de nuestras aplicaciones, de forma sencilla, con las mejores prácticas.
Realmente un curso de calidad que me ha impresionado gratamente.
Saludos cordiales estimado Israel.
Muchísimas gracias como siempre Jorge, la verdad que Envoy a veces pasa desapercibido, pero cuando lo conoces es algo con lo que no puedes pasar, a mi me pasó :).
Saludos
Excelente Curso de Envoy!
Excelente curso en el que se nos muestra paso a paso el uso del paquete Laravel Envoy para automatización del despliegue de aplicaciones Laravel, ha sido todo un desafío al mismo tiempo que un enorme placer haber tomado éste curso y aprender de ésta herramienta que luego de configurada nos permitirá hacer despliegues en poco tiempo, especialmente para aplicaciones web que están en constante desarrollo…
Una vez más: muchas gracias Israel por tu valioso tiempo en impartir lo que sabes!
Muchas gracias como siempre José, es una placer que seas parte de la plataforma.
Un saludo.
Excelente
excelente