Integración continua: Automatizando la creación de proyectos WordPress, Drupal, Symfony, etc. (I)

0

En el post anterior de esta guía: Integración continua: Automatizando la creación de repositorios con Git y Subversion desarrollamos un script en Bash para poder, como indica el título del post, automatizar la creación de repositorios. A continuación automatizamos la descarga del código fuente del cms, framework, plugins, módulos, temas, etc. que usará nuestro proyecto. Después realizamos una pequeña pausa para crear una máquina virtual por consola usando VirtualBox, y configurar e instalar Selenium para poder realizar test funcionales. Ahora vamos a realizar la creación de los proyectos, automatizando la instalación de los plugins, modulos y temas necesarios usando nuestra máquina virtual y Selenium.

Como es una de las partes que más código requiere, lo dividiré en dos post. En este primer post añadiremos algunas líneas a nuestro script en bash que nos permitirá automatizar la creación de nuestro proyecto usando Drupal, WordPress o Symfony 2.

¿Estás listo? Empezemos.

Continue reading “Integración continua: Automatizando la creación de proyectos WordPress, Drupal, Symfony, etc. (I)” »

Cómo crear un servidor REST en PHP

0

Un servidor REST es una aplicación que nos permite crear, actualizar, eliminar y recuperar datos de forma remota siguiendo el estandar de diseño REST. Lo habitual cuando programamos, por ejemplo peticiones ajax, es nombrar las urls como «/obtenerProducto», «/crearProducto», etc. En REST los verbos «obtener» o «crear» no se usan, ya que se utiliza una única url para todas las acciones, en nuestro ejemplo «/producto». Además, REST nombra a estas urls como recursos.

Para poder diferenciar la acción que se está realizando sobre un recurso concreto se utiliza un método u otro en la petición: GET, POST, PUT o DELETE.

Continue reading “Cómo crear un servidor REST en PHP” »

Icono del ide de Selenium en Firefox

Integración continua: Instalando la herramienta Selenium para ejecutar test funcionales

0

Selenium (http://www.seleniumhq.org/) es un conjunto de herramientas que permiten automatizar ciertas acciones en los navegadores. Esta automatización nos permite crear test funcionales, para probar formularios, enlaces, etc., tareas muy repetitivas y muy poco agradables de llevar a cabo.

Si lo único que necesitas es saber como crear y automatizar en local los test funcionales puedes usar el plugin de Firefox que explico en el apartado «Creando los test funcionales».

Continue reading “Integración continua: Instalando la herramienta Selenium para ejecutar test funcionales” »

Digital Ocean, servidores privados virtuales con discos SSD

0

Es curioso cómo ha avanzado el alojamiento web en los últimos diez años: de pasar a ofertas de hostings y servidores dedicados desatendidos o no, a disponer de una amplia oferta en la que tú decides cuántos núcleos del microprocesador quieres tener, cuanta RAM, cuanto espacio de almacenamiento, etc.

Si nos retrotraemos, podremos ver como la virtualización ha cambiado completamente la forma de ver y entender tanto el negocio del alojamiento web, como el desarrollo y despliegue de aplicaciones web.

Aplicaciones. Cuando yo empecé a programar eran páginas web o sites. Hasta el vocabulario que usamos en el día a día no está exento de evolución.

Nos profesionalizamos.

Y esa profesionalización implica adaptarse a los nuevos cambios, ya que o evolucionas o te extingues.

Continue reading “Digital Ocean, servidores privados virtuales con discos SSD” »

Cron Job WordPress

Cómo remplazar el cron de WordPress con un cron job real

0

Es posible que alguna vez hayas programado un post para ser publicado en un momento del día concreto y cuando has entrado a tu blog has visto como el post aun no se había publicado. Esto es algo que puede ocurrir de forma habitual, y puede resultar muy frustrante, además de perder una oportunidad de obtener las visitas que se esperaba tener al programar la publicación del post a una hora concreta.

Para comprender por qué ocurre, necesitamos saber que el WP-Cron no es un cron job real. De hecho es un cron virtual que solo se ejecuta cuando una página se carga (por ejemplo cuando accede un usuario al blog o a una página o post). Esta forma de ejecutar el cron virtual tiene un problema de rendimiento si tienes muchos eventos que ejecutar, o tardan demasiado en terminar.

Continue reading “Cómo remplazar el cron de WordPress con un cron job real” »

Integración continua: Instalar y configurar nuestra máquina virtual con VirtualBox, por consola

2

Este post veremos como crear una máquina virtual utilizando el software de virtualización VirtualBox. Esta máquina nos permitirá automatizar la configuración inicial de los proyectos (creación de bases de datos, configuración de crms, etc.). Además nos permitirá poder realizar test funcionales y otras tareas que nos ahorrarán gran cantidad de tiempo.

Continue reading “Integración continua: Instalar y configurar nuestra máquina virtual con VirtualBox, por consola” »

A 24 horas del cierre de Google News y del comienzo de la debacle de la internet española

0

Aciagos días nos ha tocado vivir, ya no solo por una crisis más del sistema capitalista agravada por una burbuja bancaria a nivel global y una inmobiliaria a nivel nacional. Sino también por la ineptitud de los responsables políticos, tanto locales, nacionales como internacionales, de resolver los problemas que ellos mismos han creado, y otros que son consecuencia de las políticas que ellos han llevado a cabo.

Uno de los sectores que en España estaba capeando el temporal de esta crisis, el de las tecnologías de la información, que podría haber ayudado a sacar al país de la crisis, se ve abocado al cierre o el exilio, este último pasando por el corralito de Montoro.

Continue reading “A 24 horas del cierre de Google News y del comienzo de la debacle de la internet española” »

Integración continua: Automatizando la descarga del código fuente de WordPress, Drupal, etc. y sus plugins, módulos y temas

0

Antes de mejorar la automatización de la creación de los repositorios que vimos en el post Integración continua: Automatizando la creación de repositorios con Git y Subversion para poder crear proyectos en WordPress, Drupal, Symfony, o cualquier otro cms o framework, primero necesitamos obtener el código fuente, creando en nuestro servidor una pequeña biblioteca de código fuente desde la que copiaremos lo que necesitamos para los proyectos.

En esta biblioteca guardaremos el código fuente de los cms y frameworks que usemos, además de los módulos, plugins, bundles y temas que utilicemos habitualmente.

Continue reading “Integración continua: Automatizando la descarga del código fuente de WordPress, Drupal, etc. y sus plugins, módulos y temas” »

Gráfico de datos estructurados

Corregir los errores de microformatos en WordPress

0

Como ya os comente en otro post, estoy haciendo una actualización del tema Mystique, el cual lleva sin actualizarse cerca de dos años. Esto me ha llevado a descubrir algunos fallos en el tema que hay que corregir. Uno de ellos es un problema con los microformatos.

Al utilizar la herramienta para Webmaster de Google, en la sección «Aspecto de la búsqueda«, apartado «Datos estructurados» nos aparecerá algo como lo de la siguiente imagen:

Gráfico de datos estructurados

Gráfico de datos estructurados

Continue reading “Corregir los errores de microformatos en WordPress” »

Integración continua: Automatizando la creación de repositorios con Git y Subversion

0

La automatización de procesos es una de las tareas esenciales en integración continua, ya que permite estandarizar los procesos (que siempre sean iguales) y ahorrar muchísimo tiempo en el desarrollo de los proyectos.

Lo primero que vamos a automatizar es la creación de repositorios. Para ello vamos a utilizar un script en Bash para poder ejecutarlo en consola a través de ssh. Es posible crear algo parecido con otros lenguajes de programación y además, con una interfaz web que facilite la gestión; pero de momento vamos con lo más básico.

Continue reading “Integración continua: Automatizando la creación de repositorios con Git y Subversion” »

Ir arriba