Este post describe los pasos para la implementación de un proyecto de forma manual.
Deploy
El empaquetado es un archivo zip que será provisto por zennovia.
Para realizar un backup de los archivos, se deberá salvar integramente la carpeta raiz del proyecto. Se podrá copiar a otra ubicación, o en su defecto agregar a un archivo zip para guardarlo.
Se podrá realizar el backup ejecutando el comando mysqldump, sobre la base de datos en cuestión.
Pisar todos los archivos del codigo fuente, poniendo especial atención en el archivo parameters.yml, ubicado en .../app/config/parameters.yml. Este archivo no debe ser pisado, dado que tiene los datos de conexion a la base de datos y configuraciones del entorno productivo.
Evaluar tambien si se agregó algun nuevo parametro en dicho archivo, para lo cual se deberia agregar tambien en el archivo original.
Se deberá limpiar la cache, ejecutando el comando php app/console cache:clear --env=dev y php app/console cache:clear --env=prod o en su defecto borrar todo el contenido de la carpeta ...app/cache
Borrar el contenido de la carpeta .../app/logs
Ejecutar el comando de migración de la base de datos, para lo cual se ejecuta el comando php app/console doctrine:migrations:migrate
En caso que corresponda, cambiar los permisos de las carpetas cache (../app/cache) y logs (../app/logs) para que ahi pueda escribir el usuario de apache.
Validar que en el caso en que el sistema utilice archivos de uploads (verificar en la carpeta .../web/uploads) los mismos deberán quedar tal cual estaban.
RollBack
En caso de necesitar volver para atras con la implementación, se deberán seguir los siguientes pasos:
Para este paso, basta con levantar el backup que se guardó previo a la implementación.
Pisar los archivos nuevos con los originales.
Para poder implementar un proyecto en los entornos de test y/o producción hemos desarrollado una herramienta que puede descargar aquí http://redmine.zennovia.com/attachments/download/1259/deploy.zip
Esta herramienta ejecuta los siguientes pasos:
Deploy
RollBack
A continuación se encuentra un tutorial para utilizar dicha herramienta.
1- Descomprimir la herramienta deploy a la altura del directorio que contiene el proyecto, por ejemplo:
Si el directorio raíz del proyecto es public_html, entonces deploy tiene que estar a la misma altura de este directorio, quedando la siguiente estructura:
... ... public_html ... ... znv_deploy ... ...
2- La estructura de archivo dentro del directorio deploy es la siguiente
new_version config.ini deploy.sh rollback.sh
3- Seteamos con los valores correcto el archivo config.ini. Lo que se debe setear es:
# Configuracion base de datos DBSERVER="localhost" DBNAME="LA_BASE_DE_DATOS" DBUSER=root DBPASS=root
PROYECTDIR="public_html"
4- En el directorio new_version colocar el archivo zip de la nueva versión a deployar.
5- Luego parados a la altura del archivo deploy.sh ejecutamos el mismo de la siguiente manera:
sudo ./deploy.sh
6- Luego si hay algún parametro nuevo o modificado en el parameter.yml se debe setear de forma manual. Esto se notificara desde Zennovia en el momento de entregar la versión.
7- Una vez terminado el proceso, si desea, puede chequear la versión leyendo el archivo version.txt
Si por algún motivo se decide volver a la versión anterior esto se lograr ejecutando Rollback de la siguiente manera:
1- Posicionado a la altura del archivo rollback.sh ejecutamos
sudo ./rollback.sh
Mostrará el siguiente mensaje con todas las release disponibles:
Se creo archivo de mantenimiento. SE DESHABILITO SITIO 201609151212 201609151213 201609151217 Ingrese la release a la cual quiere volver:
2- Ingresar la release deseada y presionar Enter para comenzar.
3- Una vez terminado el proceso, si desea, puede chequear la versión leyendo el archivo version.txt