A blog about data, information and IT, by Mario Alberich

May 27
2013

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]

Tags

gestión documental 10     Recuperación información 11     Linux 7     Usabilidad 5     open source 3     Tagging 12     lógica borrosa 2     fuentes de información 12     Google 6     off-topic 6     spam 2     grafos 6     Web social 11     modelización 12     Productividad 11     buscadores 2     utilidades 17     Profesionales 9     SEO 5     estándares 3     veracidad 3     relevancia 2     lingüística 2     PLN 2     lenguajes documentales 2     apis-mashups 3     reseñas 7     Flash 7     Gráficos estadísticos 13     Publicidad 3     Innovación 5     muestreo estadístico 9     PHP 14     internet 2     testeo 12     desarrollo 3     visualizacion 36     javascript 16     datos abiertos 9     elecciones 2     simulación 5     html5 7     phing 9     ssh 2     seguridad 3     indicadores 2     demografía 3     media 2     algoritmos 7     shell 4     mysql 2     backup 2     big data 6     twitter 2     d3js 11     revealjs 2     metodología 6     data-journalism 6     smartcities 2     NYT 2     privacidad 3     benchmarking 4     recopilaciones 21     magento 5     formacion 2     github 2     HHVM 3     psicología 2     angularjs 3     grep 2     nodejs 5     promises 2     mapreduce 3     crossfilter 2     exploración de datos 2     machine learning 2    

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