Choose A Deployment Strategy

This guide helps you pick what deployment strategy is best for your project. We'll walk you through the different options and help you decide which one is best for you.

Types of Deployment Strategies

There are a few different deployment strategies you can use with Spin. They are:

  1. spin deploy - This is the most straightforward deployment strategy. You run spin deploy from your local machine, and Spin will deploy your application to your servers. This is the best option for small projects or if you're just getting started with Spin.
  2. GitHub Actions - GitHub Actions is a great way to automate your deployments. You can set up GitHub Actions to deploy your application to your servers when you push to your repository. This is the best option for larger projects or if you want to automate your deployments.
spin deployGitHub Actions
DifficultyVery EasyBasic Understanding of SSH & GitHub Actions required
Team SizeSmall teamsSmall to very large teams
Zero-downtime Deployments
Automated Deployments

spin deploy (simple)

If you're a small team or bootstrapping a project to get it out the door as fast as possible, spin deploy might be your best friend.

Without the headache of CI/CD, spin deploy will perform a zero-downtime deployment from your local machine to your server directly over SSH. There are no requirements for having a CI/CD pipeline or private Docker registries.

Read more about spin deploy in the command reference on the open source docs.

GitHub Actions (advanced)

GitHub Actions is very powerful and can be used to automate your deployments. You can set up GitHub Actions to deploy your application to your servers when you push to your repository. This is the best option for larger projects or if you want complete automation.

Learn more about how to configure GitHub Actions →