git-deploy Released

I am a big fan of Capistrano and in general, software deployment tools. Capistrano works by connecting to your server, and updating the software there.

Most of my clients get their hosting from a shared server hosting package, where the server is shared amongst multiple people. This is great, as it lowers the cost of hosting tremendously, but also the number of features the server comes with is reduced. Most shared server hosting providers allow FTP.

Sadly Capistrano requires one to have SSH access to the server. Thus Capistrano, isn’t a feasible tool to use. Unable to find a substitute, I developed my own called git-deploy.

git-deploy will interact with git to only update relevant files on the server via FTP or SSH.

For example, if you only updated on file in your source code, you only need to upload one file, and not the whole directory. This makes uploading, more time and bandwidth efficient. Especially for time, as the script can be run from the command line, so you don’t need to launch your upload program, select which files to upload, drag and drog, and wait. A lot of time can be saved.

This is done by storing a file called REVISION on the server, which we can compare with on the local machine.

I am personally using it now on this website, and other production sites.

I am planning to create a Ruby Gem out of the plugin, but unfortunately the name git-deploy was taken. I am still looking for a new name, so if you have a suggestion, just drop me a comment.

git-deploy is licensed under an MIT License, so feel free to use, change, and build on top of my code.

To find out more about git-deploy, and how to set it up visit its GitHub page.

Happy Deploying!

This entry was posted in Uncategorized and tagged , , , , , , , , , . Bookmark the permalink.

4 Responses to git-deploy Released

  1. pek says:

    Similar script git-deploy use only bash and lftp.

  2. Thomas says:

    @Will

    good question :|

  3. Will says:

    ‘git-deploy-diff’ could be a potential ruby gem name. since your script is deploying the diff between what is already there and the current head, it is still pretty descriptive…

  4. Will says:

    I have read the README file, but I feel like I am still missing something. Where do I put the actual ‘git-deploy’ file in order to make this work?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>