Giovanni is a Perl replacement for the idea behind Capistrano. It is a deployment system that can be used comfortably from the commandline to check out code, restart systems and notify. The system is currently used with git and manages some Catalyst and Mojolicious apps and notifies via Jabber. It supports timestamped rollouts (ie have the last 5 versions of your code on the server and link to the currently running one) and plain git repositories. It tries to detect problems in the deployment process and rolls back. It supports manual rollbacks, two restart modes and does all that without any code on the server. All you need is a working ssh setup with ssh-keys that handle the login. We also use it with Jenkins to automatically deploy code that successfully completed the test suite.
Giovanni comes with a commandline tool called gio. Check the gio manpage for the config file format.
Giovanni - a Perl based deployment system
<norbu09 at cpan.org>
Please report any bugs or feature requests to
bug-giovanni at rt.cpan.org,
or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Giovanni.
I will be notified,
and then you'll automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
You can also look for information at:
Copyright 2011 Lenz Gschwendtner.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
Lenz Gschwendtner <email@example.com>
This software is copyright (c) 2014 by ideegeo Group Limited.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.