Migrate from Octopus Deploy
Octopus users will find Slipway’s deployment model familiar: that is deliberate. The work in a migration is converting deployment process steps and variables, and deciding what to do about your build server.
Concept map
Section titled “Concept map”| Octopus | Slipway | Notes |
|---|---|---|
| Space | Organisation | |
| Project group | Project | Group related services in a project |
| Project | Service (plus its deployment definition) | |
| Environment | Environment | Order comes from the lifecycle |
| Lifecycle | Lifecycle | Phases with auto_promote, min_soak, optional phases |
| Channel | Channel | Version rules (semver, glob, regex) select the lifecycle |
| Release | Release | Immutable; artifacts by digest |
| Deployment | Deployment | With a strategy |
| Deployment process | Strategy plus deployer, or pipeline steps | Built-in strategies replace hand-built rolling and blue/green processes |
| Step templates | Registry steps, templates | |
| Deployment targets | Infrastructure on an environment | |
| Tentacle (listening or polling) | Runner (always outbound) | |
| Worker pools | Runner pools | |
| Target roles | Labels | |
| Tenants | Tenant dimension on variables | |
| Variables (scoped by environment, role, tenant, channel) | Variables (scoped by infrastructure, tenant, environment, channel, service) | Same precedence idea, most specific wins |
| Variable sets | Org-level variables | |
| Sensitive variables | Secrets, or variables marked sensitive | |
| Manual intervention | Manual gate / approval | |
| Guided failure | Retry and rollback on the deployment | |
| Runbook | Runbook | Parameters, steps, environments, approval |
| Deployment freeze | Freeze period | |
| Library packages, feeds | Services’ artifact sources, registry integrations | |
Config transforms, .variables substitution |
Variables and templated ${{ vars.X }} |
Worked example: a rolling deployment
Section titled “Worked example: a rolling deployment”Octopus: a project with “Deploy Kubernetes containers” and a manual intervention step on Production, lifecycle Dev -> Staging -> Production.
Slipway:
- Create service
api(kindcontainer, artifact source: your registry repository). - Create environments
dev,staging,productionwith infrastructure pointing at each cluster and namespace, with the runner pool that can reach it. - Create a lifecycle
standard:dev(auto-promote),staging(auto-promote, soak 30m),production. - Create a channel
stableusing it. - On
production, setrequired_approvals: 1, approvers: roledeployer. That replaces the manual intervention step, and it also covers runbooks and promotions. - Choose a strategy:
rollingorcanarywith verification.
Deploy:
slipway release create api 1.4.0 --artifact image=ghcr.io/acme/api@sha256:abcslipway deploy api 1.4.0 --env dev# auto-promotion handles staging; production waits for approvalslipway approve dep_01H...Variables
Section titled “Variables”Export your Octopus variables (without sensitive values), then recreate them with the matching scope. Octopus scopes map as: environment to environment, channel to channel, deployment target to infrastructure, tenant to tenant. Re-enter sensitive values from your secret manager, or use external references. Use preview to compare resolved values per environment before you deploy.
Octopus assumes an external CI tool that pushes packages and creates releases. You can keep it:
slipway release create api $VERSION --artifact image=$IMAGE@$DIGEST # from any CI toolor move builds into Slipway pipelines so build and deploy share one model and one audit trail.
Runbooks
Section titled “Runbooks”Runbook steps are converted to pipeline-step syntax (run, uses). Parameters map to runbook parameters. Mark production-affecting runbooks requires_approval and bind permissions at the environment scope.
Order of operations
Section titled “Order of operations”- Model one service with all environments in Slipway; deploy to a non-production environment from both tools.
- Compare variable resolution via preview.
- Move production after a successful staging soak and an approval rehearsal.
- Decommission Tentacles once their targets are reachable by runners.