Setup CI Server in Cloud for Java projects with code coverage and inspection

logos CI

Yep!  I was wating a long time to wirte about this topic, but finally I’m going to show  how to setup your own Continous Integration Server (aka CI) using cloud services, all of them with free accounts.

Only consider the scope of the functionality is very limited because all services we’re using are free, but if pay for it you can do much more.

I don’t going to explain what is or what are the feautres of the CI server, only I want to say the CI is a concept created by Martin Fowler in 2006 and like he’s mention in her website:

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.”

Well, let’s get started. We’re going to configure and integrate the next services, so you only need your Github or Bitbucket account.

The demo project

Seguir leyendo

Install Java JDK on Server (Suse)

La instalación del a jdk en servidores Unix puede generar a veces algunos problemas ya que generalmente no hay una guía exacta para realizar la instalación, pero desde mi punto de vista creo que también se debe a que en internet hay muchas formas de hacerlo y también es verdad que Unix lo permite, por lo tanto no hay una forma “correcta” de hacerlo.

Sin embargo hay una forma de mantener un orden dentro de todo este caos, por ejemplo hay servidores que a veces necesitan tener instaladas dos o más versiones de la jdk en el mismo server… y ¿como controlamos esto? este tipo de cuestiones son las que causan esos problemas  a los que me refiero porque muchos ajustamos variables de entorno y terminamos creando un dessatre, y bueno antes de mostrar la instalación quería transmitir esta pequeña perspectiva.

El siguiente comando es el que nos a ayudar en Suse a controlar esto:

update-alternatives

Nota: en Ubuntu el equivalente es el comando alternatives
Seguir leyendo

Suse add Jboss 5 Startup Script

Este es uno de esos días que me arrepiento por no guardar esos buenos tips que voy descubriendo, sé que en algún momento me pueden servir y hoy es uno de esos días ¬_¬…

Para agregar un script para ejecutar el jboss al iniciar el sistema en SUSE tenemos que seguir unos sencillos pasos:

  1. Crear archivo, generas un archivo de texto llamado jboss en la carpeta /etc/init.d con el siguiente contenido:
  2. Le otorgas permisos de ejecución:
    chmod +x jboss
  3. Agregas el script al sistema:
    insserv /etc/init.d/jboss
    ln -s /etc/init.d/jboss /sbin/rcjboss

Para configurar el inicio y el fin debes editar el contenido del script en la sección BEGIN INIT INFO.

Referencias

Saludos

Apache, Instalar Certificado de Seguridad Privado

Para continuar con la parte de certificados de seguridad SSL vamos a crear uno privado utilizarlo internamente. En el artículo anterior deje un pequeño resumen sobre SSL, pero aqúi voy a dejar la misma introducción.

Si un día te piden un portal o servicio seguro y validado por https necesitas algo llamado SSL (Secure Socket Layer) que básicamente es un protocolo para transferir datos de forma segura, y se utiliza para:

Compartir información mediante un mecanismo de codificación entre el cliente y el servidor (aquí pueden leer un resumen bastante claro)

Esto se hace por medio de un certificado de seguridad.

El certificado es un comprobante que emite un CA (Certificate Authority) o un tercero para garantizar que el sitio web pertenece a la empresa u organización, que es un sitio legitimo, válido y seguro. En esta ocasión vamos a emitir un certificado propío o privado para cuestiones internas.

Es muy común ver esto en páginas de intranet o en redes privadas donde se necesita transferir información sensible y confidencial, por ejemplo con transacciones de negocio, datos confidenciales, cuentas, etc… también se utilizan en procesos entre servers, como en web services.

Instalación

Los pasos que voy a describir funcionan en linux, pero si lo necesitas para windows y Mac es prácticamente lo mismo solo cambian las rutas de los archivos de configuración y la instalación del software. Seguir leyendo

Apache, Instalar Certificado de Seguridad Versign

Este va a ser un tema muy amplio pero vamos directo a lo que nos interesa, si un día te piden un portal seguro y validado por https necesitas algo llamado SSL (Secure Socket Layer) que básicamente es un protocolo para transferir datos de forma segura,  y se utiliza para:

Compartir información mediante un mecanismo de codificación entre el cliente y el servidor (aquí pueden leer un resumen bastante claro)

Esto se hace por medio de un certificado de seguridad.

El certificado es un comprobante que emite un CA (Certificate Authority) o un tercero para garantizar que el sitio web pertenece a la empresa u organización, que es un sitio legitimo, válido y seguro.

Nota: Se pueden emitir certificados propios o privados para cuestiones internas pero otro día escribiré sobre esto.

Esto es muy común en páginas web donde se necesita manejar información sensible y confidencial, por ejemplo con el pago de tarjeta  de crédito, comunicación entre web services, ejecución de aplicaciones, etc… y se puede ver muy claro en nuestro browser cuando se pone en verde:

Se puede puede obtener un certificado de una autoridad competente, las más famosas son Verisign y Thawte (vean el certificado de los bancos o de facebook) estás empresas certificadoras cobran por este servicio, pero ambas te pueden dar un certificado de prueba ( que es el que vamos a utilizar).

Instalación

Los pasos que voy a describir funcionan en linux, pero si lo necesitas para windows y Mac es prácticamente lo mismo solo cambian las rutas de los archivos de configuración y la instalación del software. Seguir leyendo

Servidor Apache como Proxy Server & Reverse Proxy

Apache es de los servidores más populares y una de sus principales funciones en la que es utilizado es como servidor proxy, que básicamanete nos permite acceder a recursos de otros servidores a través de el mismo apache, y lo hace enrutando todo el tráfico y canalizandolo al servidor correspondiente.

Y esto es muy útil cuando queremos exponer aplicaciones o recursos web fuera de una red privada  por ejemplo:

  1. El usuario hace una petición a la dirección http://www.myweb.com
  2. La petición llega a un servidor apache que es el único que está expuesto a internet, todos los demás son accesibles únicamente dentro de la intranet.
  3. La aplicación a la que se quiere accesar se encuentra en el servidor http://intranet.local.com, que esta en la red privada. Seguir leyendo

Novell Suse Linux Enterprise Server 10, Instalar Apache Server SIN internet

Dentro de los principales productos que ofrece Novell tiene su famoso sistema SLES (Suse Linux Entrise Server) que es un completo servidor linux con un amplio catálogo de funciones para servicios profesionales de negocio. Del otro lado esta Open SUSE, pero no tiene comparación con el SLES que está enfocado al ambito profesional y no es gratuito, hay que pagar una licencia por su uso, la versión Open puede utilizarse para algo mas casero.

Pero bueno hace un par de días me asignaron la instalación del Apache Server, que claro es muy fácil hacerlo cuando tienes un gestor de paquetes como rpm, yast, yum o zipper y por supuesto si tu servidor tiene acceso a internet.

¿Pero si el servidor no tiene conexión a internet que haces?, pues descargas cada paquete con sus dependencias y los instalas a mano.

Vemamos como se realiza:

1. Descargas los paquetes de la siguiente página http://en.opensuse.org/Additional_package_repositories#Apache , incluye enlaces a los repositorios de acuerdo a tu versión (incluyendo la SLES ) la arquitectura del server es de 64 bits (x86_64), tu puedes seleccionar el que te corresponde. Seguir leyendo