Sail CI is Docker as tasks cloud-native continuous integration platform allowing teams to build and run simple and complex workflows against their codebase with unlimited concurrency using Docker images.
Sail CI lets you:
The goal of Sail CI is to empower teams to deliver more every day.
We want to provide cross-functional teams best in class collaboration throughout the lifecycle of a project. We want to include every role that makes up a team from developers all the way through to product owners.
We are entirely free to use while we are in open alpha to everyone and open source projects are free forever.
Sail CI treats Docker as a first class citizen and allows tasks to be scheduled instantly across many different resources. Teams can specify where and how tasks run.
Sail CI uses the following terminology for the components that make up builds when run.
A task is a configuration object for a Docker image that runs commands against a codebase.
A group of tasks form a pipeline; it is the overarching configuration of how a build is run from start to finish.
A workspace provides provisioned storage that persists across all tasks within a pipeline mounted at /workspace.
Firstly Sail CI provisions storage known as a workspace. This workspace is attached to every task. When a pipeline is complete, Sail CI removes the workspace entirely. Sail CI never stores source code once a build completes.
The build process starts with Sail CI cloning the repository to the workspace folder /workspace/repo. Sail CI then runs each of the tasks specified within your .sail.yml file placed in the root of your project.
Sail CI sets the current working directory for each task to /workspace/repo.
A high-level diagram of a simple Node.js pipeline: