Rocketeer

Rocketeer is a modern PHP task runner and deployment package. It is inspired by the Laravel Framework philosophy and thus aims to be fast, elegant, and more importantly easy to use.

Like the latter, emphasis is put on smart defaults and modern development. While it is coded in PHP, it can deploy any project from small HTML/CSS websites to large Rails applications.

Main features

Versatile , support for multiple connections, multiserver connections, multiple stages per server, etc.

, support for multiple connections, multiserver connections, multiple stages per server, etc. Fast , queue tasks and run them in parallel across all your servers and stages

, queue tasks and run them in parallel across all your servers and stages Modulable , not only can you add custom tasks and components, every core part of Rocketeer can be hot swapped, extended, hacked to bits, etc.

, not only can you add custom tasks and components, every core part of Rocketeer can be hot swapped, extended, hacked to bits, etc. Preconfigured , tired of defining the same routines again and again ? Rocketeer is made for modern development and comes with smart defaults and built-in tasks such as installing your application's dependencies

, tired of defining the same routines again and again ? Rocketeer is made for modern development and comes with smart defaults and built-in tasks such as installing your application's dependencies Powerful, releases management, server checks, rollbacks, etc. Every feature you'd expect from a deployment tool is there

Installation

The fastest way is to grab the binary:

$ wget http : / / rocketeer . autopergamene . eu / versions / rocketeer . phar $ chmod + x rocketeer . phar $ mv rocketeer . phar / usr / local / bin / rocketeer

More ways to setup Rocketeer can be found in the official documentation.

Usage

The available commands in Rocketeer are :

$ php rocketeer check Check if the server is ready to receive the application cleanup Clean up old releases from the server current Display what the current release is deploy Deploys the website flush Flushes Rocketeer's cache of credentials help Displays help for a command ignite Creates Rocketeer's configuration list Lists commands rollback Rollback to the previous release, or to a specific one setup Set up the remote server for deployment strategies Lists the available options for each strategy teardown Remove the remote applications and existing caches test Run the tests on the server and displays the output update Update the remote server without doing a new release

Documentation can be found here

Testing

$ phpunit

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

Available plugins and integrations

Why not Capistrano?

That's a question that's been asked to me, why not simply use Capistrano? I've used Capistrano in the past, it does everything you want it to do, that's a given.

But, it remains a Ruby package and one that's tightly coupled to Rails in some ways; Rocketeer makes it so that you don't have Ruby files hanging around your app. That way you configure it once and can use it wherever you want in the realm of your application, even outside of the deploy routine. It's also meant to be a lot easier to comprehend, for first-time users or novices, Capistrano is a lot to take in at once – Rocketeer aims to be as simple as possible by providing smart defaults and speeding up the time between installing it and first hitting deploy .

It's also more thought out for the PHP world – although you can configure Capistrano to run Composer and PHPUnit, that's not something it expects from the get go, while those tasks that are a part of every PHP developer are integrated in Rocketeer's core deploy process.