Skip to content

Instantly share code, notes, and snippets.

@vladfaust
Forked from bibstha/gist:49540af53fa0ec5ab869
Last active January 15, 2016 19:38
Show Gist options
  • Save vladfaust/cc51b26c8ef545017bdb to your computer and use it in GitHub Desktop.
Save vladfaust/cc51b26c8ef545017bdb to your computer and use it in GitHub Desktop.
Deploy to dokku from codeship.com

After migrating from heroku to dokku, we had to also chance codeship so we deploy to dokku. I followed the following steps to successfully deploy to dokku.

  1. Save the public key of the codeship project. It is found in Project Settings > General Settings.
  2. Copy the public key to a file /tmp/codeship_projectname.pub.
  3. Make sure when pasting, all the contents are in a single line and not multiple lines.
  4. Add the public key to dokku using the following command in console. Reference.
cat /tmp/codeship_projectname.pub | ssh root@yourdokkuinstance "sudo sshcommand acl-add dokku [description]"

Where [description] is a single word used to identify the key. I use codeship_projectname for [description]

  1. In codeship, go to Project Settings > Deployment. Delete heroku. Add a new custom script. Add the following lines to custom script. The git tree needs to be unshallowed first. Reference.
#!/bin/bash
DOKKU_DOMAIN=
DOKKU_APP=
set -e
git fetch --unshallow || true
git push dokku@${DOKKU_DOMAIN}:${DOKKU_APP} ${CI_BRANCH}:master

Now everytime you build on codeship, it should deploy to the dokku instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment