El proceso de deploy como lo vimos anteriormente puede ser algo tedioso si se hace de forma manual. Por suerte, tenemos herramientas que nos facilitan el trabajo, tales como Fabric y Envoy. En esta ocasión, vamos a ver cómo podemos hacer un deploy de manera más elegante haciendo uso de fabric para poder automatizar nuestro deploy sin pérdida de servicio (zero downtime) lo cuál te evitará tener que poner tu sitio en modo de mantenimiento cuando quieras actualizarlo.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Ahora que ya tenemos listo nuestro script para hacer deploy, vamos a hacer algunas configuraciones para que sea un poco más elegante, haciendo uso de symlinks y otras herramientas, logrando así nuestro deploy con zero downtime. Pero antes de configurar nuestro archivo de fabric necesitamos conocer la manera de hacerlo manualmente, esto nos ayudará a comprender mejor cómo se realiza el flujo de deploy, permitiendo tener una mejor noción al momento de automatizarlo.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Laragon es una suite de desarrollo para PHP que funciona sobre Windows diseñado especialmente para trabajar con Laravel. Similar a otras herramientas como Xampp o Wampp, Laragon nos permite crear un entorno de desarrollo con estas características: Ver post
En ocasiones, cuando estamos trabajando con Linux, es muy común que nos encontremos con problemas de permisos de usuarios, y en muchas situaciones optamos por algunas de las siguientes opciones: la primera, y más común, es ejecutar los comandos requeridos con el prefijo sudo, otra opción es meter al usuario que estemos utilizando al grupo de sudo, o incluso la peor de las opciones, cambiar los permisos de carpetas y programas para que tengan el permiso de ser ejecutados por cualquier usuario.
Todos hemos hecho uso de estas opciones, sin embargo existe una manera segura de hacer que nuestros usuarios con privilegios restringidos puedan hacer uso del prefijo sudo para hacer uso de comandos específicos. En esta ocasión, le estaremos dando estos permisos a nuestro usuario serial para poder reiniciar el servicio de PHP poniendo a dicho usuario en nuestro archivo de sudoers.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Anteriormente habíamos hecho uso de Fabric para que nuestro deploy se ejecute como una tarea en nuestro sistema, y para lograrlo hicimos uso de algunos comandos en python, pero es probable que quieras experimentar con algo más, ya que es muy probable que actualmente trabajes con PHP podemos recomendarte el uso de Envoy.
Envoy nos permite crear tareas SSH de la misma manera que lo hicimos con Fabric pero sin la necesidad de aprender comandos de python, en su lugar hacemos uso de la sintaxis de Blade, a lo que muchos ya estamos acostumbrados y nos puede parecer más cómodo. Envoy fue creado por Taylor Otwell y tiene una documentación muy detallada pero a la vez bastante clara, así que acompáñame a ver cómo es el uso de las tareas SSH por medio de Envoy para hacer el deploy de nuestros proyectos.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Hasta el momento ya hemos hecho deploy de tres maneras diferentes, pero en cada una de ellas tenemos que conectarnos al servidor para ejecutar algún tipo de tarea, por más pequeña que esta sea, es aquí cuando uno empieza a sentir un poco molesto el tener que hacer esto cada vez y piensa: «Debería haber una forma más fácil»… y afortunadamente sí existe. Es en estas situaciones cuando podemos hacer uso de un gestor de tareas automatizadas. Actualmente existen muchas como Capistrano o incluso uno creado por Taylor Otwell llamado Envoy, pero por lo pronto nos vamos a enfocar en uno que corre sobre python llamado Fabric y veremos este debido a su sencillez, así que acompáñame a ver cómo podemos crear nuestra primer tarea programada
Regístrate para ver ésta y cientos de lecciones exclusivas.
Anteriormente habíamos visto cómo hacer la instalación de nuestro stack LEMP instalando las últimas versiones de cada parte del stack, pero realmente no habíamos hecho ninguna configuración, simplemente modificamos nginx para que reconociera los scripts de PHP, en esta ocasión haremos un poco de configuración del servicio de PHP.
Quizá se pregunten ¿Por qué habría de modificar PHP si ya está funcionando? Esto es debido que el servicio PHP escucha por default al usuario y grupo www-data, pero nosotros queremos que escuche a alguno de los usuarios registrados en nuestro servidor, con la finalidad de no tener que hacer cambios de permisos como lo hicimos anteriormente, además esto nos ayudará a tener más seguridad en el servidor y podremos ir encaminados a hacer un deploy automatizado, así que vamos a ver cómo podemos hacerlo.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Anteriormente hicimos deploy de nuestro proyecto haciendo uso de rsync,en esta ocasión lo haremos con github pero estaremos implementando un proyecto en Laravel por lo que ya nos estamos adentrando un poco más a un verdadero deploy profesional con un proyecto real. Github nos permite utilizar llaves SSH para la administración de nuestros proyectos pero también nos permite hacer deploy de los mismos estableciendo una llave SSH para el repositorio que necesitemos y esto es lo que haremos en esta ocasión.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Rsync es una herramienta que nos permite transmitir directorios entre un origen y un destino, similar a lo que vimos anteriormente con scp, sin embargo, rsync es mucho más sofisticado ya que nos permite pasar varios parámetros al momento de hacer la transferencia de información. Es una alternativa muy eficiente para pasar información de un lugar a otro ya que es mucho más rápido que hacerlo por un cliente FTP, como se hacía anteriormente.
Entre las opciones más importantes que rsync nos ofrece son el comprimir la información antes de enviarla y la de solo enviar los archivos que se hayan modificado. Éstos con la finalidad de evitar consumir demasiado ancho de banda y poder realizar la transmisión de datos más rápidamente, además nos permite excluir archivos y directorios que no queramos enviar a nuestro servidor.
Regístrate para ver ésta y cientos de lecciones exclusivas.
En la lección de hoy comenzamos la segunda parte del Curso Administración de Servidores para PHP y Laravel donde aprenderás a trabajar con SCP (Secure Copy), la cual es una de las maneras en las que podemos hacer deploy de nuestros proyectos al servidor de producción. Ésta es una forma segura de transferir archivos desde nuestro equipo local hacia el servidor pues funciona haciendo uso de las llaves SSH.
Regístrate para ver ésta y cientos de lecciones exclusivas.
Styde usa cookies para guardar tus preferencias y para seguimiento anónimo AceptarLeer más
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.