Skipper is a tool that allows you to discover Spring Boot applications and manage their lifecycle on multiple Cloud Platforms. You can use Skipper standalone or integrate it with Continuous Integration pipelines to help achieve Continuous Deployment of applications.
The system design is influenced by a large number of projects in the Kubernetes ecosystem that perform resource templating and/or orchestration, hence the nautically inspired project name Skipper.
Applications in Skipper are bundled as packages which contain a templated configuration file and a default set of values that are used to fill in the template. You can override these defaults when installing or upgrading a package. Skipper provides a means to orchestrate the upgrade/rollback procedure of applications between different versions, taking the minimal set of actions to bring the system to the desired state. One of the goals of Skipper is to be used as one tool to help promote the practice of Continuous Deployment.
The main features in Skipper are:
The means to deploy a Spring Boot application to multiple platforms is provided by Spring Cloud Deployer implementations. The supported template file format are YAML based and describe the set of variables needed to create a Spring Cloud Deployer AppDeploymentRequest
The next version (1.0 RC1) of Skipper will replace the simple hardcoded workflow of upgrading/rolling back applications versions to a more flexible approach based on the Spring Statemachine project.
The reference guide is the best place to get started.
Skipper evolved out of a need to perform "Stream Edits" in Spring Cloud Data Flow. It was later recognized that to provide that feature a more general purpose project, Skipper, should be created so that it can also be a useful toolkit outside the context of Spring Cloud Data Flow.