Instalación y configuración de Jenkins en Ubuntu 14.04

Standard

 

logo-title

Qué tal. En esta ocasión veremos un tutorial que nos ayudará a dar nuestros primeros pasos en el uso de esta útil herramienta, acerca de la cual les hablaré un poco a continuación.

De acuerdo con lo que nos dice su página oficial, Jenkins es, en pocas palabras:

“El servidor de automatización de código abierto líder. Construido en Java, este provee cientos de plug-ins para ofrecer soporte a la construcción, el testeo, el deploying y la automatización de virtualmente cualquier proyecto de software.”

Jenkins es un servidor de integración continua multi-plataforma, el cual, utilizado de la manera correcta, ayuda a los desarrolladores a aumentar su productividad. Es un sistema que se ejecuta en un servidor, el cual puede considerarse un contenedor de servlets.

Entre otras muchas cosas, éste nos permite construir y testear nuestros proyectos de software de manera continua y automatizada, volviendo más fácil la integración de cambios en el proyecto y el conseguir compilaciones actualizadas con la frecuencia que sea necesaria. Además de esto, soporta herramientas de control de versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase, también puede ejecutar shell scripts y programas batch de Windows.

Ahora que sabemos esto, podemos comenzar con la instalación y configuración de nuestro propio servidor Jenkins.

Continue reading

Introducción a Git en Terminal y SourceTree (Parte 3)

Standard

Git logo

Qué tal, gente. En la presente y última entrega de la “serie”: Introducción a Git en Terminal y Source Tree (enlaces aquí: Parte 1 y Parte 2). Hablaremos sobre lo indispensable que es necesario conocer para trabajar en repositorios que incluyen a varios colaboradores de un equipo de desarrollo.

Entre las principales tareas que nos topamos al llevar a cabo esta labor, tenemos: realizar conexiones remotas con repositorios centrales, importar commits de ramas en repositorios remotos, exportar los cambios realizados al proyecto en nuestra copia local del repositorio, entre otros.

Bien, veamos un poco de los comandos y opciones que nos facilitarán dichas tareas. Continue reading

Introducción a Git en Terminal y SourceTree (Parte 2)

Standard

Git logo

¡Qué tal! En esta entrega veremos cómo guardar los nuevos cambios realizados en nuestro repositorio, nos adentraremos un poco en la manera de estar al tanto del estado actual de los archivos en nuestro repositorio, y también sabremos cómo revisar versiones antiguas del proyecto.

Bien, sin mayor preámbulo, vamos entrando en materia. Continue reading

Introducción a Git en Terminal y SourceTree (Parte 1)

Standard

Git logo

Qué tal. En esta ocasión comparto con ustedes algo de información útil sobre una herramienta que sin duda debe estar salvando miles de vidas al día: Git.

Nota: Antes de leer este post es totalmente recomendado estar al tanto de en qué consisten los Sistemas de Control de Versiones, sobre los cuales se habló con anterioridad en el post del enlace.

Ahora bien, para comenzar, es indispensable saber de qué hablamos al referirnos a un repositorio. Un repositorio —en el contexto de los sistemas de control de versiones— es una estructura de datos en disco que almacena metadatos para un conjunto de archivos y/o estructuras de directorios. Dependiendo de si el sistema de control de versiones es distribuído (por ejemplo, Git o Mercurial) o centralizado (Subversion o Perforce, por ejemplo), todo el conjunto de información en el repositorio será duplicado en el sistema de cada usuario, o será mantenido en un solo servidor. Algunos de los metadatos que suele contener un repositorio incluyen, entre otras cosas:

  • Un registro histórico de cambios en el repositorio.
  • Un conjunto de objetos “commit”.
  • Un conjunto de referencias a objetos commit, llamados “heads”.

Y ahora que sabemos esto, 

¿Qué es Git?

Continue reading

Sistemas de versionamiento y GitLab 1

Standard

Hola a todos, espero todos estén muy bien.

En esta ocasión les traigo un post sobre Sistemas de versionamiento, pero antes les dejo un poco de los problemas que busca resolver.

Al momento de desarrollar software es común trabajar en equipo. Estos equipos pueden ser pequeños, medianos o grandes, esto trae como resultado que haya muchos conflictos en el manejo de los archivos del proyecto. Imaginen el escenario donde los archivos se comparten por medio de una memoria USB… ¿Quién tiene la última versión? ¿Quién fue el último desarrollador en modificar “x” archivo?

Para resolver estos problemas se crearon los sistemas de control de versiones (VCS, por sus siglas en ingles); Estas herramientas nos permiten automatizar un control de versiones en los archivos. Dependiendo de la herramienta nos generan un historial de cambios de cada archivo, marcando por ejemplo: quien fue la última persona en modificar un archivo, que cambios o que líneas del archivo fueron modificadas, nos permiten también tener un manejo de conflictos entre cambios con el fin de evitar de que los cambios hechos por un desarrollador se sobrescriban por los hechos por otro. Continue reading

Estrategias de Git Branching

Standard

workflow

Hola a todos, para esta semana les quiero hablar de el manejo de Branches (Ramas) y el importante rol que tiene en el Plan de Control de Versiones.

Hoy en día casi todos los sistemas de control de versiones ofrecen un sistemas de líneas de ramas independientes en un sistema de código centralizado. Dependiendo del ecosistema que tengas debes adaptar el manejo de ramas con tus equipos de trabajo. Nosotros en Hunabsys tomamos ventaja de esto y este artículo es darles un panorama de lo que evaluamos y estamos usando hoy en día. Continue reading