Introducción a GITLAB-CI (Integración Continua)

A partir de la versión 8.0, Gitlab Continuous Integration (CI) se encuentra completamente integrado dentro de Gitlab y se encuentra habilitado por defecto para cada proyecto.

Requerimientos:

Solo dos elementos son requeridos para hacer funcionar la integración continua dentro de Gitlab:

  1. un archivo .gitlab-ci.yml en el directorio raíz del proyecto.
  2. configurar un Runner.
Archivo .gitlab-ci.yml

La función del archivo .gitlab-ci.yml es decirle a el o los runners qué hacer y la función de el o los runners es ejecutar los mandatos del archivo .gitlab-ci.yml

Un archivo .gitlab-ci.yml se vería más o menos parecido al siguiente:

variables:

before_script:

stages:  
  - build
  - test
  - deploy

job1:  
  stage: build
  script: 
  - echo "Release build..."
  - msbuild.exe "HelloWorldApp.sln"
  except:

job2:  
  stage: test
  script:
    - echo "Testing..."
  dependencies:
    - job1

job3:  
  stage: deploy
  script:
    - echo "Deploying..."
    - echo %CI_BUILD_REF%
    - echo %CI_BUILD_ID%
    - echo %CI_BUILD_TAG%
  dependencies:
    - job2

Para más información sobre archivos .gitlab-ci.yml ir a la Documentación de Gitlab.

Runners

Los runners están diseñados para correr en casi cualquier plataforma: Linux, OS X, Windows, etc.
Para ejecutar en Docker es necesario tener la versión 1.5.0 o superior.

Características de los Runners
  • Permite ejecutar:

    • múltiples tareas concurrentes.
    • usar múltiples tokens con múltiples servidores (incluso por proyecto).
    • limitar número de tareas concurrentes por token.
  • Las tareas pueden ser ejecutadas:

    • localmente.
    • usando Docker containers.
    • usando Docker container y ejecutando tareas sobre SSH.
    • conectando a un servidor remoto sobre SSH.
  • Esta escrito en Go y es distribuido como un solo binario.

  • Soporta Bash, Windows Batch y Windows PowerShell.

  • Trabaja en Linux, OS X y Windows.

  • Permite personalizar ambientes de ejecución de tareas.

Guías de Instalación de los Runners
Configuración de Multi-runners en Windows.

Para configurar el runner es necesario ejecutar el runner con el parámetro register.
Ejemplo:

C:\Multi-Runner\gitlab-ci-multi-runner-windows-386.exe register  

Luego de ejecutado esto se necesitan algunos datos:

  1. URL del servidor GITLAB-CI.
  2. Token.
  3. Alguna descripción para el Runner.
  4. Tags.

Para extraer los dos primeros datos, se puede ir a la configuración del proyecto donde deseamos configurar el runner y luego nos vamos al tab Runners.

GitlabCI