A blog about data, information and Tech by Mario Alberich

        

Automatizar con Phing (I) Objetivos e instalación

Phing es una herramienta desarrollada en PHP que permite la automatización de tareas. Si has oído hablar de Apache Ant, Phing es la herramienta análoga para el PHP.  Phing permite, mediante la generación de archivos XML (que a pesar del formato, son programas simples), facilitar la automatización de tareas.

Tareas que pueden ayudar


Las tareas más habituales (pero no las únicas) son:

  • Despliegues/actualizaciones de aplicaciones (entornos locales y remotos, tanto vía FTP com SSH).
  • Documentación de código.
  • Testeo e integración continua.
  • Checkouts de repositorios de código.
  • Deploys de bases de datos.


Las tareas más habituales acostumbran a ser tareas repetitivas, con poco valor añadido, poco creativas, y en las que resulta fácil equivocarse por errores humanos. En situaciones así, ¿Por qué no automatizar?

Instalación


Para  instalar Phing, se puede realizar utilizando la herramienta Pear. Si no la tienes instalada, puedes hacerlo instalando el paquete php-pear:

~$ sudo apt-get install php-pear

Una vez instalado, puedes añadir el canal de Phing:

~$ sudo pear channel-discover pear.phing.info

Y después ya puedes instalarlo:

~$ sudo pear install --alldeps phing/phing

Bien, esto te facilita la disponibilidad de Phing, pero algunas de funcionalidades de serie sólo estarán disponibles en versiones más avanzadas. Si es tu caso, será necesario hacer un pequeño añadido:

~$ sudo pear config-set preferred_state alpha
~$ sudo pear install --alldeps phing/phing
~$ sudo pear config-set preferred_state stable

Con esto, podremos instalar Phing con las opciones más actuales (y también inestables) para luego volver a instalar versiones estables de paquetes pear.

Con este proceso, ya puedes empezar a utilizar Phing.  Comentaré algunos ejemplos en artículos posteriores. Puedes echar un vistazo a esta presentación en Slideshare, que introduce los conceptos básicos de los componentes de Phing:

[slideshare id=11755071&doc=phingphpuk2012-120226083028-phpapp02]

© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.