Migrating from Snap CI to Codeship

Written by: Ethan Jones

You may have heard the news that ThoughtWorks is shutting down their cloud-based CI/CD service, Snap CI. This is sad for the industry, but we know ThoughtWorks will continue to do great work with their other products, as well as with their excellent on-premise CI/CD service, GoCD.

To the Snap CI team and the ThoughtWorks team behind them, great job and good luck on your next efforts! To Snap CI users, we’d love to help you keep your builds running and your code shipping. This post provides you with an easy path for migrating from Snap CI to Codeship.

How Codeship Compares To Snap CI: Simplicity, Flexibility and Support

Codeship and Snap CI solve the same problem, and we offer a lot of the same features and value. Here’s a quick look at how we compare.

Just like Snap CI, we’re focused on providing everything you need for your CI/CD pipeline, as well as on making it as fast and simple as possible. We’re also focused on world-class support, something else we and our friends at Snap CI have had in common.

  • Repo driven workflows with branch-based deployments

  • Configure your builds through a simple web UI or customized .yml files

  • Easy, turnkey deployment integrations or flexible, powerful build architectures

  • GitHub, Bitbucket, and GitLab support

  • Repo status notifications, as well as Slack, HipChat, and custom webhook notifications

  • Full support for all standard web and build languages

  • Native Docker support

Our features are spread out between Codeship Basic (our super-simple, super-quick-to-set-up product for more straightforward workflows and web technologies) and Codeship Pro (our Docker-driven product for building fully customized and flexible CI/CD environments in the cloud).

How to Get Started with a Migration from Snap CI

If you’re interested in getting started with Codeship Basic, we’ve got a three-minute video showing you just how simple it is to get started testing and deploying in just a few minutes. From there, you can create your account and get started!

If you’re interested in using Docker or a more customized build environment on Codeship Pro, we’ve got a short demo of how to use the Docker and the Codeship Pro .yml files to define your environment and build your pipeline. We also have a getting started guide that will walk you through setting up a sample project. Just create your account and let us know if you need any help!

Exporting Your SnapCI Configuration

SnapCI will provide you an export file with your project configuration. Just contact them to requst your project export. With your export downloaded, it is quick and easy to setup your Codeship Basic project to match your SnapCI configuration.

Note that this exclusively addressed Codeship Basic, as Codeship Pro is a Docker-based system that works quite differently from both Codeship Basic and SnapCI. But, if you're interested in trying out Codeship Pro, we would be happy to help you learn more about it. Just get in touch!

SnapCI Export To Codeship Project Configuration

At the top of your SnapCI export, you'll see something like

:languages:- :name: Ruby
  :version: 2.1.5
:database:
  :version: '9.2'
  :name: PostgreSQL
  :type: postgresql
  :port: '5432'

This correlates to your Codeship setup commands, which you will find under the "Test" section of your Project Settings.

Your setup commands on Codeship will be all package installs, version selections and database configuration you need to make your application build and run successfully on Codeship.

Next, you'll see a section in your SnapCI export that looks like this:

:environment_variables:
- :id:
  :key: SNAP_DB_PG_HOST
  :secure: false
  :value: localhost

This will list all of your environment variables, which can be set on Codeship under the "Environment" section of your Project Settings.

After that your SnapCI export will begin to list your test and deployment commands:

:stages:
- :name: Rspec
  :automatic: true
  :environment_variables: []
  :commands:
  - echo "rspec"
  :artifacts:
  - log/
  :secure_files: []

On Codeship, these commands will be configured under the "Test" and "Deployment" sections of your Project Settings.

Pricing and Migration Offer

Let’s take a look at how our pricing compares:

If you’re migrating over from Snap CI, get in touch and we can help you get going or sign up for Codeship here!

Stay up to date

We'll never share your email address and you can opt out at any time, we promise.