Git

El despliegue de aplicaciones web Symfony

2021-03-06 - Categorías: Symfony
Symfony, el despliegue en producción

He recibido una consulta a la web sobre este tema, sobre el cómo pasar aplicaciones Symfony a producción. Así que por aquí estoy de nuevo dejando algunos tips, o cosas a tener en cuenta. Esto es un resumen, un codekata o howto, para desplegar aplicaciones web Symfony.

El despliegue de estas aplicaciones puede volverse realmente elaborado, dependiendo de hasta donde queramos automatizar. Es importante porque podemos querer actualizar producción varias veces al día.

En un post anterior estuve escribiendo sobre cómo programar despliegues automáticos con Git. Usar Git es la opción que yo prefiero. Voy a tratar de centrarme en lo especial que tiene Symfony. La documentación oficial está muy bien, con muchos detalles, y muy extendida. Luega dejo enlace para el que quiera seguir avanzando.

Continuar leyendo..

Scripts y técnicas de despliegue continuo para una web con Git

2020-11-16 - Categorías: General / Magento / PHP / Symfony / WordPress

Automatizar la publicación de nuevas versiones es una técnica de desarrollo de aplicaciones que se denomina Despliegue Continuo o Continuous Deployment en inglés (CD). Se suele usar junto con el Continuous Integration (CI), en el que se elabora una serie de pruebas automáticas sobre el software.

Tener esto automatizado nos ahorra mucho tiempo, nos dará velocidad en todos estos pasos intermedios ya que no tendremos que repetirlos continuamente, y podremos centrarnos en desarrollar para cada iteración.

Durante las pruebas puede notificarnos en caso de errores, realizar todo tipo de chequeos, o elaborar documentación sobre el proyecto para el resto del equipo. Pero una vez que tenemos el primer paso montado del CI, es interesante seguir con el segundo paso del CD. A continuación comparto unos scripts e instrucciones para una web en WordPress, Symfony o Magento 2, con GitHub o BitBucket. Así es como funciona también aquí en JnjSite.com..

Continuar leyendo..

Borrando información sensible del historial de modificaciones Git

2020-06-21 - Categorías: General

Es es un post apunte, para borrar ficheros del historial de modificaciones, de un repositorio Git. Esta acción me ha costado un poco encontrarla, así que aquí me hago eco. Se trata de una acción de limpieza del historial, ya que quizá queremos sacar ficheros con información sensible, que no queremos que estén en el historial: configuraciones locales, ficheros con alguna contraseña, ficheros temporales, ficheros de configuración del entorno de desarrollo, ficheros que necesitan compilación en el servidor de instalación, etc..

¡Atención! Esta acción no deja rastro de dichos ficheros, pero luego te deja el historial que no puedes redistribuirlo como si no hubiera pasado nada. Las identificaciones de las cosas habrán cambiado, se habrán reescrito sólo guardando iguales las fechas y autores. Y en terceros repositorios con Git no vas a poder hacer ‘git pull’ como si no hubiera pasado nada. Luego dejo también una solución a esto último.

Continuar leyendo..

GNU/Linux: montando un sistema de despliegue manual con Git

2020-05-10 - Categorías: General / GNU/Linux
GNULinux

Dejo aquí un pequeño howto o codekata para configurar un despliegue manual de una aplicación mediante Git. Con este codekata se instala el repositorio en un directorio, mientras que los ficheros de trabajo que finalmente corren la aplicación estarán en otro directorio diferente. Internamente los sistemas de despliegue automatizado usan configuraciones de este estilo para hacer lo que se llama Continuous Deployment (CD).

Para este post sólo se trabaja la forma manual de hacer el despliegue. Que si quisieras, podrás automatizarlo añadiendo luego webhooks a tu repositorio, y recibir estos webhooks para lanzar este despliegue.

Clonado del repositorio

Suponiendo que queremos poner la aplicación y repositorio en el mismo directorio, vamos al directorio y podemos ejecutar lo siguiente:

git --work-tree=./la_app/ clone git@servidor-de-repos.com:ruta/al/repo.git el_repo

Si estamos en el directorio /ruta/al/directorio/ entonces se crearán los siguientes directorio:

  • /ruta/al/directorio/el_repo/
  • /ruta/al/directorio/la_app/

No tienen que existir los directorios para que Git pueda crearlos.

Comandos de despliegue machacando modificaciones

cd /ruta/al/directorio/el_repo/
git checkout master
git fetch --all
git reset --hard origin/master
# aquí otros comandos especiales de tu app como borrar cachés, archivos temporales, etc..

© 2021 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.