Awesome
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.
- Fast, 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.
- 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
- 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.