Skip to content

Instantly share code, notes, and snippets.

@mlocher
Forked from bibstha/gist:49540af53fa0ec5ab869
Last active August 29, 2015 14:18
Show Gist options
  • Save mlocher/d827d037561509105ee2 to your computer and use it in GitHub Desktop.
Save mlocher/d827d037561509105ee2 to your computer and use it in GitHub Desktop.

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/sh
git fetch --unshallow || true
git fetch origin "+refs/heads/*:refs/remotes/origin/*"
# checkout a remote branch with
# git checkout -b test origin/test
git remote add dokku dokku@yourdokkuinstance:projectname
git push dokku 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