Build the parts. Ship the system.
Slipway is CI/CD and deployment in one platform. Pipelines make releases. Releases move through environments with approvals, canaries and metric verification. One binary runs the control plane and the runner.
- Unlimited users on every plan, Free included.
- Self-hosted runners are free and unlimited, forever.
- SSO, secrets and audit log on the free tier, not gated.
- Source-available. Run it on a laptop, a cluster, or our cloud.
Three nouns, one audit trail.
Most delivery pain lives in the gap between "the build passed" and "it is running safely in production". CI tools stop at the artifact; deployment tools start after it. Slipway is one model, so there is no gap to script over.
Pipeline
YAML in your repository, discovered automatically. Typed triggers, a job DAG, matrices, caches, artifacts and conditions written in CEL. A JSON Schema gives you completion in your editor; a visual editor round-trips the file without clobbering your comments.
Release
What a pipeline produces: an immutable record of artifact digests, variables and signed provenance. A release is cut once and promoted many times, so what reached production is exactly what passed staging.
Environment
Where releases go, in an order a lifecycle decides. Each environment carries its own protection rules, deployment windows, approvers, variables and strategy. Roll back to any earlier release in one click.
Pipelines you would write by hand, on runners you own.
The YAML reads like the tools you already know, with the deployment job built in instead of bolted on. Runners dial out, so they run behind NAT with no inbound ports: a shell, a Docker container or a Kubernetes pod per job.
- A real DAG. Stages, jobs and steps compile to a graph with matrix expansion, fail-fast and retries with backoff.
- Caches and artifacts. Keyed caches, artifacts between jobs, service containers with health checks.
- Logs worth reading. Live streaming with search, step timings, JUnit and coverage parsed into the UI.
- Re-run what failed. From any step, or open a debug shell into a failed job on a self-hosted runner.
- Shared steps. Reusable steps and versioned organisation templates with pinned refs.
version: 1
name: api
on:
push: { branches: [main] }
pull_request:
jobs:
- name: test
runs_on: [linux]
container: { image: golang:1.27 }
steps:
- uses: slipway/checkout@v1
- run: go test ./...
- name: build
needs: [test]
steps:
- uses: slipway/docker-build@v1
- uses: slipway/release-create@v1 # immutable release 1.4.0
- name: deploy
needs: [build]
if: ${{ git.branch == "main" }}
environment: { name: production, service: api }
steps:
- uses: slipway/deploy@v1
with: { strategy: canary }Promotion is a decision. Slipway shows its working.
Lifecycles decide the order, protection rules decide who and when, strategies decide how. Every step is recorded: who approved, which policy passed, what the metrics said when the canary widened.
- Strategies. Recreate, rolling, blue/green and canary, with automatic rollback.
- Controls. Approvals, deployment windows, freeze calendars, CEL policy gates and change-ticket gates for ServiceNow and Jira.
- Verification. Queries against Prometheus, Datadog, New Relic, CloudWatch or Google Cloud Monitoring at every canary step.
- Variables. Scoped, secret-aware, with a preview of the resolved values before you deploy.
- After the deploy. Runbooks, drift detection and DORA metrics per service.
release 1.4.0 through the production lifecycle
error rate during the canary, against the rollback limit
Where Slipway sits next to Harness, Octopus Deploy and GitHub Actions.
The incumbents are expensive and opaque, CI-only with weak deployment semantics, or tied to a code host. Slipway is one product that is good at both halves, with a free tier you can run a company on.
| Harness | Octopus | GitHub Actions / CircleCI / Buildkite | Slipway | |
|---|---|---|---|---|
| Pipelines (CI) | Yes | Weak (relies on others) | Yes | Yes, first-class |
| Deployment model (envs, releases, promotion, strategies) | Yes | Best in class | Weak / DIY | Yes, Octopus-grade |
| Canary with metric verification | Yes (paid) | No | No | Yes (Team+) |
| Approvals, gates, change mgmt | Enterprise | Yes | DIY | Team+ |
| Runners: self-hosted free, unlimited | Limited | Tentacles licensed by target | Mostly yes | Yes, unlimited, free |
| Pricing transparency | Poor | Per-target, climbs fast | Per-minute / per-user | Flat, published, no SSO tax |
| Self-host | Enterprise | Yes (paid) | Partial | Yes (source-available, free) |
| Pipeline-as-code + visual editor round-trip | Yes | Partial | No | Yes |
| Runs as a single binary | No | No | n/a | Yes |
Competitor cells summarise our reading of public documentation and pricing pages and may be out of date; corrections are welcome. Detailed guides: Slipway vs Harness, Slipway vs Octopus Deploy, Slipway vs GitHub Actions, Slipway vs GitLab CI, Slipway vs CircleCI and Buildkite.
The security features are on the free tier, on purpose.
Charging extra for single sign-on and audit logs makes small teams less secure. Slipway does not do that.
Workload identity instead of stored keys
Every job gets a short-lived OIDC token. Federate with AWS, GCP, Azure and Vault, then delete the long-lived cloud credentials. OIDC job tokens
Envelope-encrypted secrets, your key
Per-organisation data keys under a KMS master key. Bring your own from AWS KMS, GCP KMS, Azure Key Vault or Vault transit. Masked in every log. Secrets
Signed provenance on every artifact
SLSA attestations, cosign integration, and policy gates in CEL that decide whether a release may be promoted. Supply chain
Tenant isolation in the database
Postgres row-level security keyed on the organisation and set per request. Isolation does not depend on every query remembering a WHERE clause. Isolation
Single sign-on for everyone
OIDC with Google, GitHub, Microsoft, Okta or any provider on every plan. SAML and SCIM provisioning on Business. Access control
An audit trail you can export
Every mutating action and every deployment decision, append-only, with retention that grows with your plan and streaming to S3, Splunk or Datadog. Compliance
One binary. Your laptop, your cluster, or our cloud.
The control plane is a single Go binary with Postgres, NATS and an S3-compatible store beside it. Docker Compose for a laptop, a Helm chart for Kubernetes, Terraform modules for AWS, GCP and Hetzner. The hosted service runs the same build.
Source-available under FSL-1.1-Apache-2.0: free to run and modify, converting to Apache-2.0 two years after each release. The runner, CLI and SDKs are Apache-2.0.
$ git clone https://github.com/slipway-systems/slipway
$ cd slipway
$ podman compose -f deploy/compose/compose.yaml --profile app up -d --build
# open http://localhost:8080 and create your organisationFlat, published, per organisation.
Unlimited users on every tier. No SSO tax, no per-target tax, and self-hosted compute is free forever. Prices in USD.
Free
Run a company on it. SSO, secrets, audit log and unlimited users included.
- Users
- Unlimited
- Self-hosted runner minutes
- Unlimited
- Hosted runner minutes included (Linux 2 vCPU)
- 3,000 / mo
- Concurrent jobs (self-hosted)
- 10
- Environments
- 5 per project
- Deployment strategies
- Rolling, recreate
- Audit log
- 30 days, in-app
- Support
- Community
TeamMost teams
Canary with metric verification, blue/green, BYOK and custom roles.
- Users
- Unlimited
- Self-hosted runner minutes
- Unlimited
- Hosted runner minutes included (Linux 2 vCPU)
- 15,000 / mo
- Concurrent jobs (self-hosted)
- 50
- Environments
- Unlimited
- Deployment strategies
- + Blue/green, canary with metric verification
- Audit log
- 90 days + export
- Support
- Email, 2 business days
Business
SAML and SCIM, change management, release trains and a 99.9% SLA.
- Users
- Unlimited
- Self-hosted runner minutes
- Unlimited
- Hosted runner minutes included (Linux 2 vCPU)
- 60,000 / mo
- Concurrent jobs (self-hosted)
- 250
- Environments
- Unlimited
- Deployment strategies
- + Progressive multi-region, release trains
- Audit log
- 1 year + streaming (S3, Splunk, Datadog)
- Support
- Priority, 8 business hours, 99.9% SLA
Enterprise
Dedicated cell or air-gapped, HSM, 24/7 support with a 1 hour response.
- Users
- Unlimited
- Self-hosted runner minutes
- Unlimited
- Hosted runner minutes included (Linux 2 vCPU)
- Negotiated
- Concurrent jobs (self-hosted)
- Unlimited
- Environments
- Unlimited
- Deployment strategies
- + Custom
- Audit log
- Unlimited
- Support
- 24/7, 1 hour, 99.95% SLA, TAM
The full comparison, hosted runner sizes and the pricing FAQ
Connects to the tools you already run.
Providers are plugins on a typed framework, not special cases. Each one has a page with what it does, how to set it up and a configuration example.
Source control
Registries & artifact repositories
Cloud & Kubernetes
Infrastructure as code
Secret managers
Incident management
Issues & change management
Observability
Security scanning
Feature flags
Questions people ask before switching.
Is Slipway a replacement for GitHub Actions or a layer on top of it?
A replacement for the pipeline runner and a large addition after it. Slipway connects to GitHub (and GitLab, Bitbucket, Azure Repos, Gitea), runs your pipelines on runners you control, and then owns what Actions never had: releases, environments, promotion, approvals and canary verification. A migration guide covers the YAML differences. Read more
How does Slipway compare to Octopus Deploy and Harness?
Octopus has the best deployment model in the market but leaves CI to other tools and charges per deployment target. Harness does both but prices opaquely and gates the useful parts behind enterprise tiers. Slipway gives you the Octopus-grade deployment model and first-class pipelines in one product, with flat published pricing, unlimited users and free self-hosted runners. Read more
Does Slipway host my source code?
No. Slipway never hosts code. It receives signed webhooks from your Git provider, fetches the commit on your runner, and posts statuses and PR comments back. Read more
Can I self-host Slipway, and what does it cost?
Yes, for free. The control plane is one Go binary plus Postgres, NATS and an S3-compatible store. Run it with Docker Compose on a laptop, with the Helm chart on Kubernetes, or with the Terraform modules on AWS, GCP or Hetzner. The source is available under FSL-1.1-Apache-2.0; the runner, CLI and SDKs are Apache-2.0. Read more
Which deployment strategies are supported?
Recreate and rolling on every plan. Blue/green and canary with automatic rollback on metric thresholds from Team. Progressive multi-region rollouts and release trains from Business. Verification reads Prometheus, Datadog, New Relic, CloudWatch or Google Cloud Monitoring. Read more
Are users, SSO and self-hosted runners really free?
Yes. Every plan, including Free, has unlimited users, OIDC single sign-on, an audit log, encrypted secrets and unlimited self-hosted runner minutes. We charge for hosted compute, scale, compliance features such as SAML, SCIM and change management, and support. Read more
Where does Slipway run and where is my data?
The hosted service runs in the EU with Cloudflare in front and object storage on Cloudflare R2. Self-hosted installs keep everything on your infrastructure. Every organisation is isolated with Postgres row-level security and its own encryption keys. Read more
Ship the next release from one place.
Connect a repository, run your first pipeline on your own runner and deploy to a real environment in an afternoon.