Estimated Reading Time: 1 min
DigitalOcean offers virtual servers (called Droplets). If you have not yet set up a Droplet, check out DigitalOcean’s tutorial.
While not necessary, selecting the Ubuntu 14.04 image for your Droplet will provide even greater parity between your production and CI/CD environment.
For the ssh key section, be sure that you are including/authorizing your Codeship project’s ssh key with your Droplet.
With the exception of the Capistrano tool, all the following options would need to be configured as custom scripts in your deployment pipeline.
If you have a Ruby on Rails application the most common way to deploy to DigitalOcean is with Capistrano. Check out our article on Capistrano Deployments in Codeship for general guidance on how to run Capistrano commands from Codeship. Please also take a look at DigitalOcean’s example project for setting up Capistrano within a Droplet.
bundle exec cap production deploy
You can also provide explicit commands on the Droplet shell via ssh.
ssh firstname.lastname@example.org \ 'cd ~/src/repo ; systemctl stop node-sample ; git pull ; systemctl restart node-sample'
Files can be copied directly over from your Codeship deployment build to your Droplet via ftp, sftp, scp or rsync. Your custom deployment commands would be included in your deployment pipeline as a custom script.
scp -rp ~/clone/* email@example.com:/path/on/droplet/
rsync -avz ~/clone/ firstname.lastname@example.org:/path/on/droplet/
We also have a couple of code examples and sample projects available, that make it easier to get started with Codeship.