Despliegue con Laravel 5.7, Envoy y Amazon Web Services | Netcurso

Estudiantes nuevos
ingresar aquí:


Vamos

Plataforma vieja de
Netcurso:

Login

Despliegue con Laravel 5.7, Envoy y Amazon Web Services

Aprende a hacer el Despliegue de tus proyectos Laravel utilizando las mejores herramientas paso a paso con AWS

4.75 (30 valoraciones) / 137 estudiantes inscritos
Creado por Israel Parra
Fecha de la última actualización: 2018-09-26
$199.99 $ 12,99 $
  • 31 Clases
  • 1 horas de vídeo bajo demanda
  • Acceso de por vida
  • Acceso en dispositivos móviles y TV
  • Certificado de finalización

Lo que aprenderás

  • Configurar un servidor completo desde 0 utilizando Ubuntu 16.04 con Amazon Web Services
  • Manejar Laravel Envoy de forma completa para escribir y ejecutar tareas que nos ayuden a hacer el Deploy
  • Hacer el Deploy con Laravel, AWS utilizando Ubuntu 16.04 y Github con repositorios privados
  • Mapear un dominio tuyo a una instancia de Amazon
  • Generar certificados SSL con Let's Encrypt auto renovables para crear sitios seguros de forma rápida, gratuita y sencilla
  • Instalar y configurar MySQL de forma segura añadiendo usuarios y acceso vía ssh con archivos de claves
  • Añadir los permisos correctos al directorio de tu proyecto y al directorio Storage de tu proyecto
  • Configurar los Security Groups de Amazon para ofrecer acceso únicamente a lo necesario de tu instancia
  • Instalar Nodejs y Yarn para procesar los archivos scss, js y .vue de Laravel utilizando los scripts del archivo packagejson
  • Establecer y configurar el DOCUMENT_ROOT y el mod_rewrite de tu proyecto con Apache para hacer que Laravel funcione correctamente eliminando public de la url

Descripción

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:

  1. Local: aquí desarrollas tu proyecto, es el servidor que tienes instalado en tu equipo de desarrollo, por ejemplo Laragon.

  2. 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.

  3. 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 propmt. 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.