Spring Cloud Skipper es una herramienta que permite descubrir aplicaciones Spring Boot y gestionar su ciclo de vida en múltiples plataformas Cloud.

Skipper puede usarse en modo standalone o se puede integrar con pipelines CI para hacer un despliegue continuo de aplicaciones Spring Boot.

Skipper esta diseñado teniendo en cuenta otros proyectos del ecosistema Kubernetes que permite hacer templates o orquestación.

En Skipper las aplicaciones se empaquetan como paquetes que contienen un template de fichero de configuración y un conjunto de valores por defecto que llenan el template.

Skipper ofrece procedimientos para orquestar el procedimiento de upgrade/rollback entre versiones de forma sencilla.

Las principales características de Skipper son:

  • Definir cuentas en multiples plataformas donde pueden desplegarse aplicaciones Spring Boot. Se soportan actualmente plataformas Locales, Cloud Foundry y Kubernetes.
  • Sustituir variables en ficheros plantilla Mustache que describen como desplegar aplicaciones a la Plataforma
  • Buscar repositorios de paquetes para aplicaciones existentes
  • Instalar/actualizar/rollback de un paquete de forma sencilla
  • Almacenar la historia de ficheros plantilla (application manifest) que representan la descripción de que se ha desplegado a la Plataforma en una release específica.
  • Ofrecer una shell interactive y un API Web para flujos CI.

La version 1.0-RC1 usará Spring Statemachine para el proceso de workflow.

Los conceptos principales de Skipper son:

· Plataformas : donde ejecutan las aplicaciones

· Paquetes: define el récipe básico a desplegar en la plataforma

· Repositorios: conde los metadatos de los paquetes y los ZIPs se almacenan

· Releases: se crean en Skipper después de instalar, actualizar o hacer rollback de un paquete

· Release workflow: pasos para actualizar o hacer rollback de una versión a otra

Veamos un ejemplo de Skipper usando la plataforma Local.

1, Primero descargaremos el Server y el Shell de Skipper:

wget http://repo.spring.io/snapshot/org/springframework/cloud/spring-cloud-skipper-server/1.0.0.BUILD-SNAPSHOT/spring-cloud-skipper-server-1.0.0.BUILD-SNAPSHOT.jar

wget http://repo.spring.io/snapshot/org/springframework/cloud/spring-cloud-skipper-shell/1.0.0.BUILD-SNAPSHOT/spring-cloud-skipper-shell-1.0.0.BUILD-SNAPSHOT.jar

2. Luego ejecutaré el server con:

java -jar spring-cloud-skipper-server-1.0.0.BUILD-SNAPSHOT.jar

(Skipper ejecuta en el Puerto 7577)

3. Una vez arrancado ejecutaré la Shell con:

java -jar spring-cloud-skipper-shell-1.0.0.BUILD-SNAPSHOT.jar

4. En este tour puedo seguir: https://docs.spring.io/spring-cloud-skipper/docs/current/reference/htmlsingle/#three-minute-tour

Aunque aún está algo verde, le auguro gran futuro! 🙂

Leer más