Wiki

Clone wiki

deploypal / Home

Welcome to DeployPal project

DeployPal is a very lightweight, easy to use tool that uploads on the given FTP server all changed data from BitBucket. So you just upload this application on any server running on PHP 5.3+ and set url on its index.php here on bitbucket service settings as POST service applied by every push.

DeployPal is your friend when it comes to automatic sync of your either websites or dev versions of projects that demand uploading to a remote FTP after each push.

Why to use it?

It's damn simple. I've been solving the very same problem when migrated to BitBucket that unfortunately doesn't offer auto deploy to the given ftp server. These are usually shared hostings where git isn't installed. I tried to search a ready-to-use solution, but I haven't found one passing my conditions:

  • It has to be easy to use, I should be able to set it within 5 minutes.
  • It has to be private. I found a tool, but it wanted to get write access to all my bitbucket repos, which I'm not ever willing to give to the 3rd side.

How to configure it?

This point is fairly simple, can be done within 5 minutes.

  • Upload the source codes on any server supporting PHP 5.3+ and is accessible from outside
  • In file named config.ini, set a proper permissions and fill in your credentials to both destination FTP server and bitbucket account (if a repository is private)
  • Set mod 777 to /log and /tests/log folders
  • Go to bitbucket, click on repository settings. In the left menu you can see Service, click on it. There you choose POST service and paste URL directing to your previously uploaded deploypal/index.php.

Features

  • In /tests you can find full resources for testing DeployPal without needing to push a repository first. It is prepared for extensions, including all POST data BitBucket sends, though now using just some.

Planned Features

  • Multiple FTP servers support. I plan to build the frontend on well known CodeIgniter, which you would just upload your FTP server and you would control it from the built-in administration, adding new ftp servers to sync with the given bitbucket credentials.
  • GitHub support
  • Last commit backup
  • Database synchronization. We all know if you develop web applications it's kinda boring to update database manually if you add a column, you gotta do the same on the remote server. I would like to make it fully automatic
  • Mercurial/SVN support
  • sFTP support

License

MIT. No plans to change that. As other devs, I'm also searching for simple and free solutions, so I have no reason to change it.

Updated