Send your projects up in the clouds

Overview

Rocketeer is unfortunately not maintained anymore and this repository is archived

I recommend to pivot to Deployer and/or CD pipelines

The Gitter chat will stay open for discussions and helping each other if you're locked into Rocketeer. You can also send me the occasional mail but keep in mind I haven't worked on this project in years and probably won't be able to solve your issue

Rocketeer

Gitter

Build Status Latest Stable Version Total Downloads Scrutinizer Quality Score Code Coverage Dependency Status Support via Gittip

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

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email :author_email instead of using the issue tracker.

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.

Comments
  • Deploy hooks not firing

    Deploy hooks not firing

    I'm deploying my app using the 'deploy' command, and expecting my hooks to run, as defined in my hooks.php file

    for example:

    'after'  => array(
            'setup'   => array(),
            'deploy'  => array(
                'composer5.6-sp install',
                'ln -s /var/sites/laraveltest/current /srv/users/serverpilot/apps/laraveltest'
            ),
            'cleanup' => array(),
        ),
    

    However, these commands don't fire. Am I doing this wrong, or is there an issue here?

    bugs/bug 
    opened by richardhawthorn 38
  • The Composer package manager could not be found

    The Composer package manager could not be found

    When running rocketeer check -vvv the following is output:

    | Check (Check if the server is ready to receive the application) [~5.56s]
    |-- Check/Php (Checks if the server is ready to receive a PHP application)
    |=> Checking presence of git
    $ git --version
    [[email protected]] (production) git version 1.8.2.1
    |=> Checking presence of Composer
    $ [ -e "/home/thasmo/example.com/current/composer.json" ] && echo "true"
    |=> Checking PHP version
    |=> Checking presence of required extensions
    $ /package/host/localhost/php-5.5/bin/php -r="print defined('HHVM_VERSION') ? HHVM_VERSION : PHP_VERSION;"
    $ /package/host/localhost/php-5.5/bin/php -m
    [[email protected]] (production) PHP Warning:  PHP Startup: Unable to load dynamic library '/home/thasmo/pecl/apc.so' - /home/thasmo/pecl/apc.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/home/thasmo/pecl/memcache.so' - /home/thasmo/pecl/memcache.so: cannot open shared object file: No such file or directory in Unknown on line 0
    [[email protected]] (production) [PHP Modules]
    [[email protected]] (production) bcmath
    calendar
    Core
    ctype
    curl
    [[email protected]] (production) date
    dom
    ereg
    exif
    fileinfo
    filter
    ftp
    gd
    gettext
    hash
    iconv
    imap
    intl
    [[email protected]] (production) json
    ldap
    libxml
    mbstring
    mcrypt
    mysql
    mysqli
    mysqlnd
    openssl
    pcntl
    [[email protected]] (production) pcre
    PDO
    pdo_mysql
    pdo_pgsql
    pdo_sqlite
    pgsql
    Phar
    posix
    pspell
    Reflection
    [[email protected]] (production) session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    sqlite3
    standard
    sysvmsg
    sysvsem
    [[email protected]] (production) sysvshm
    tidy
    tokenizer
    xml
    xmlreader
    xmlrpc
    xmlwriter
    xsl
    zip
    zlib
    [[email protected]] (production) [Zend Modules]
    |=> Checking presence of required drivers
    The Composer package manager could not be found
    The tasks queue was canceled by task "Check"
    Execution time: 4.5499s
    Saved logs to /cygdrive/s/Project/web/example.com/.rocketeer/logs/production--20150118.log
    

    When logging in via SSH manually to the server composer is in the path and I can easily run it by typing composer.

    Why can't rocketeer find Composer? Any idea?

    bugs/bug bugs/unverified 
    opened by thasmo 30
  • Redis extension not loaded

    Redis extension not loaded

    When I run 'php artisan deploy:check' I get the following message:

    Checking presence of redis extension The redis extension does not seem to be loaded on the server

    I am not using the Redis php module (not listed in php -m).

    I am using redis for caching and pub/sub (not for sessions) and is working as expected. Why do I still get this message?

    Laravel 4.1.12 / Redis 2.6.14

    bugs/bug 
    opened by stefandroog 28
  • Parallell deploying to multiple servers

    Parallell deploying to multiple servers

    Hey there!

    I wanted to know if you have any plans to support parallel deploying?

    There's a few PHP scripts that does it out there - if you don't plan it anytime soon, I might be able to do it and send you a pull request

    The only problem I see is the config .. Obviously I don't want to break existing configs.

    I was thinking of something like ...

    'connections' => array(
        'production' => array(
            'multi' => array(
                array(
                    'host' => 'hello1.server.com'
                ),
                array(
                    'host' => 'hello2.server.com'
                )
            ),
        ),
    ),
    

    So, if there's a key named "multi", it will fork the process and run it at the same time.

    It would also be useful for

    // The default remote connection(s) to execute tasks on
    'default' => array('sandbox', 'staging'),
    

    To be able to deploy to my sandbox and staging at the same time.

    Tell me what you think!

    Cheers ;) (nice package btw!)

    enhancement/enhancement 
    opened by maktouch 27
  • PHP Version

    PHP Version

    I was trying out Rocketeer today to see if I could get it setup for a Symfony app. I am getting the following error:

    Checking presence of git
    Checking PHP version
    Checking presence of Composer
    Checking presence of mcrypt extension
    The version of PHP on the server does not match Laravel's requirements
    Deployment was canceled by task "Check"
    

    I am assuming that the Rocketeer is built ontop of Lavarel? If so, what version does it require?

    bugs/bug bugs/unverified 
    opened by trsteel88 26
  • Cannot overwrite directory `/data/www/rocketeer_test/current' with non-directory

    Cannot overwrite directory `/data/www/rocketeer_test/current' with non-directory

    Using latest develop, running rocketeer deploy, this line:

    $ mv -Tf /data/www/rocketeer_test/current-temp /data/www/rocketeer_test/current
    

    Gives the following error message in the log file:

    cannot overwrite directory `/data/www/rocketeer_test/current' with non-directory
    

    The directory /data/www/rocketeer_test/current already exists, because it was created earlier by the same command:

    $ mkdir /data/www/rocketeer_test/
    mkdir /data/www/rocketeer_test/
    
    $ mkdir -p /data/www/rocketeer_test/releases
    mkdir -p /data/www/rocketeer_test/releases
    
    $ mkdir -p /data/www/rocketeer_test/current
    mkdir -p /data/www/rocketeer_test/current
    
    $ mkdir -p /data/www/rocketeer_test/shared
    mkdir -p /data/www/rocketeer_test/shared
    

    If the (empty) directory /data/www/rocketeer_test/current is removed before executing the move command, all is fine.

    bugs/bug bugs/blocker 
    opened by marcovtwout 25
  • Support to use agent forwarding

    Support to use agent forwarding

    These are changes to support agent forwarding linked with the following changes:

    https://github.com/phpseclib/phpseclib/pull/518 change in phpseclib/phpseclib

    https://github.com/illuminate/remote/pull/6 change in illuminate/remote

    enhancement/enhancement 
    opened by montdidier 24
  • Configuration files not created on Mac OSX Mavericks

    Configuration files not created on Mac OSX Mavericks

    I just followed the guide and installed it globally using the command, which used curl.

    Now I'm attempting to "ignite" my test directory and no matter what I do, it keeps telling me the configuration has been created but it does not exist!

    How is this happening? I'm pretty sure it's a bug, as I've also tried the "loca to the folderl" version, and both the local and global composer versions. Nothing works! It keeps telling me the files are there, but they are not.

    Screenshot of bug

    (I've shutdown the droplet and created another one - just a quick one to try it out so no worries)

    Also your documentation seems a little bit frustrating. I will help write something more friendly when I get up and running myself.. I'm so tired of Capistrano that you wouldn't even believe, so please help me get away!! :fearful:

    opened by HSPDev 23
  • New release directory not updating timestamp

    New release directory not updating timestamp

    I'm running Rocketeer version 1.2.0 and I'm getting an issue when trying to deploy where rocketeer doesn't seem to be updating the release timestamp. The timestamp below is from almost a week ago. I'm obviously able to do a deploy:update to pull changes, but cannot deploy new releases.

    fatal: destination path '.../releases/20140408221009' already exists and is not an empty directory.
    

    I've run artisan's cache clear command. I've also gone in to look at how rocketeer is getting this timestamp. It appears it is being done in Traits/BashModules/Core.php in the getTimestamp method. This just runs the date command on the server. Running this manually gives the correct timestamp.

    Has anyone else run into this issue?

    bugs/bug 
    opened by cmbirk 23
  • SVN username and password not passed to `svn co`

    SVN username and password not passed to `svn co`

    I have setup Rocketeer to deploy using my svn repository. When I execute rocketeer deploy, I run into the following error:

    Cloning repository in "/data/www/xxx/releases/20140318163638"
    Unable to clone the repository
    svn: E170001: Unable to connect to a repository at URL 'svn://localhost/test/trunk'
    

    Final lines from logs/production--xxx.log:

    [2014-03-18 20:36:39] rocketeer.INFO: ["svn co --non-interactive svn:\/\/localhost\/xxx\/trunk \/data\/www\/xxx\/releases\/20140318163638"] [] []
    [2014-03-18 20:36:39] rocketeer.INFO: svn: E170001: Unable to connect to a repository at URL 'svn://localhost/test/trunk'
    svn: E170001: Can't get username or password [] []
    

    My scm.php looks like this:

    <?php return array(
        'scm' => 'svn',
        'repository' => 'svn://localhost/test',
        'username'   => 'xxx',
        'password'   => 'xxx',
            (...)
    );
    

    When I look at the source code, the username and password should be passed to the checkout command, but as you can see in the log file, they are being omitted. https://github.com/Anahkiasen/rocketeer/blob/3591b74208e632ce5ffe090ffcd19330785feb77/src/Rocketeer/Scm/Svn.php#L80

    bugs/bug 
    opened by marcovtwout 23
  • Permission issue

    Permission issue

    I deploy a Laravel App with root user.

    After I run artisan migrate in deploy.after event,here create a log file in storage/logs owned by root. (some sql logs)

    I add storage path to permissions config but it not work.

    how to make the log file owned by www-data

    Need help!

    support/deployment 
    opened by lokielse 22
  • Text color on the site documentation

    Text color on the site documentation

    Please would you use visible color i see you are using gray color but i can barely see it when i am trying to read your documentation. on official site. i will be so grateful if you will find your to make this adjustment.

    opened by mwangaben 0
  • VirtualAlloc() failed: not enough memory

    VirtualAlloc() failed: not enough memory

    when i run rocketeer check or deploy the second time i got this error :

    VirualAlloc() failed: Not enough memory resources are available to process this command.
    

    I have changed the memory_limit in php.ini to -1(unlimited) but nothing changed. Any help

    opened by BechirAhmed 0
  • cd: command not found

    cd: command not found

    I've discovered a strange behaviour that I cannot explain. I have recently added Rocketeer to a new project of mine that is failing with the message cd: command not found due to it trying to run sudo -u root cd /var/www/....

    The reason it's failing is because you cannot run cd as sudo. The confusing part is that I have Rocketeer installed globally as per the instructions and this is the only project (of many) that this is happening to - all legacy projects are running correctly and I can see in the log that the are not running the same command. They are simply running cd /var/www/...

    I am running Rocketeer 2.2.5 on Mojave, deploying to Ubuntu 16. I have deleted the .rocketeer directory in the project in question and re-run rocketeer ignite.

    Any help greatly appreciated!

    opened by nathanpurcell 0
  • Permission denied error on deployment

    Permission denied error on deployment

    Hello!

    I am currently getting the following errors upon trying to deploy a new project to staging branch.

    In the deep end with Rocketeer and this is my first time deploying a new project with it. Existing projects deploy fine, it's just this new project that is giving hassle.

    I can git clone the repo into the directory fine.

    Was wondering if anyone can baby me through the issue, thanks.

    |=> Server is not ready, running Setup task
    |-- Setup (Set up the remote server for deployment) [~1.4s]
    |---- Check (Check if the server is ready to receive the application) [~0.93s]
    |------ Check/Php (Checks if the server is ready to receive a PHP application)
    |=====> Checking presence of git
    $ git --version
    [rocketeer@[IP.00.000.000:PORT] ([server]) git version 2.7.4
    |=====> Checking presence of Composer
    |=====> Checking PHP version
    |=====> Checking presence of required extensions
    |=====> Checking presence of required drivers
    |=====> Your server is ready to deploy
    $ mkdir /var/www/folder/
    [rocketeer@[IP.00.000.000:PORT] ([server]) mkdir:
    [rocketeer@[IP.00.000.000:PORT] ([server]) cannot create directory ‘/var/www/folder/’
    [rocketeer@[IP.00.000.000:PORT] ([server]) : File exists
    [rocketeer@[IP.00.000.000:PORT] ([server]) 
    $ mkdir -p /var/www/folder/releases
    [rocketeer@[IP.00.000.000:PORT] ([server]) mkdir:
    [rocketeer@[IP.00.000.000:PORT] ([server]) cannot create directory ‘/var/www/folder/releases’
    [rocketeer@[IP.00.000.000:PORT] ([server]) : Permission denied
    [rocketeer@[IP.00.000.000:PORT] ([server]) 
    $ mkdir -p /var/www/folder/current
    [rocketeer@[IP.00.000.000:PORT] ([server]) mkdir:
    [rocketeer@[IP.00.000.000:PORT] ([server]) cannot create directory ‘/var/www/folder/current’
    [rocketeer@[IP.00.000.000:PORT] ([server]) : Permission denied
    [rocketeer@[IP.00.000.000:PORT] ([server]) 
    $ mkdir -p /var/www/folder/shared
    [rocketeer@[IP.00.000.000:PORT] ([server]) mkdir:
    [rocketeer@[IP.00.000.000:PORT] ([server]) cannot create directory ‘/var/www/folder/shared’
    [rocketeer@[IP.00.000.000:PORT] ([server]) : Permission denied
    [rocketeer@[IP.00.000.000:PORT] ([server]) 
    |===> Getting some informations about the server
    |===> Successfully setup "folder" at "/var/www/folder"
    |-- Primer (Run local checks to ensure deploy can proceed)
    |-- CreateRelease (Creates a new release on the server) [~0.2s]
    |---- Deploy/Clone (Clones a fresh instance of the repository by SCM)
    |===> Cloning repository in "/var/www/folder/releases/20181105104212"
    $ git clone "https://[user]:[password]@bitbucket.org/folder/folder2018.git" "/var/www/folder/releases/20181105104212" --branch="master" --depth="1"
    [rocketeer@[IP.00.000.000:PORT] ([server]) fatal: could not create leading directories of '/var/www/folder/releases/20181105104212': Permission denied
    |===> An error occured: "Unable to clone the repository", while running:
    fatal: could not create leading directories of '/var/www/folder/releases/20181105104212': Permission denied
    The tasks queue was canceled by task "Deploy"
    
    opened by AllyRobins 1
  • nginx symlink caching issue

    nginx symlink caching issue

    After each deploy i run php -r "opcache_reset();" and i've added

    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    

    to /etc/nginx/fastcgi.conf

    But it still redirects to the old release. What is the best way to solve this?

    opened by sweebee 2
Releases(2.2.4)
  • 2.2.4(Dec 31, 2016)

  • 2.2.3(Jul 21, 2016)

  • 2.2.2(Jul 21, 2016)

    Fixed

    • Fixed remote storage being written to in pretend mode
    • Fixed StepsRunner not halting the running of steps upon encountering a strict false
    • Fixed some tasks having their after event not firing
    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Jul 10, 2016)

    Fixed

    • Rocketeer now uses the composer.json as source of truth for which extensions to check against
    • Fixed characters encoding in repository credentials
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Apr 4, 2015)

    Added

    • Added RemoteHandler::disconnect to purge cached connections
    • Added LocalCloneStrategy deploy strategy
    • Added sudo and sudoed option to execute some commands as a sudo user (behaves the same way shell/shelled does)

    Fixed

    • Fixed an issue on 32bit systems where releases would max out the integer limit
    • Fixed an issue where commands would not return the proper status code
    • Fixed HHVM support
    Source code(tar.gz)
    Source code(zip)
  • 2.1.3(Mar 23, 2015)

  • 2.1.2(Mar 10, 2015)

    Fixed

    • Fixed an issue prevent using a custom command clas
    • Fixed commands run in folders not working with LocalConnection
    • Fixed port and key not being passed to rsync
    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Mar 10, 2015)

  • 2.1.0(Mar 8, 2015)

    Added

    • Added ability to have contextual server configuration by adding a config array to a server's configuration

    Fixed

    • Fixed an issue when igniting with a connection other than "production"
    • Fixed an issue with Polyglot strategies not properly propagating their results to parent tasks
    • Fixed an issue with the force flag missing for Artisan commands
    Source code(tar.gz)
    Source code(zip)
  • 2.0.6(Feb 12, 2015)

  • 2.0.5(Feb 11, 2015)

    Fixed

    • Fixed a bug where trying to use an invalid connection would just fallback silently to the default one
    • Fixed missing dependency in generated PHARs
    • Fixed symlink issues on non-GNU/Linux OSes
    • Fixed paths defined in paths.php sometimes being ignored
    • Fixed some jobs using the wrong server on multiserver connections
    • Fixed an issue where polyglot strategies would keep running after one of their child failed
    • Fixed an issue where the logs filename would get recomputed every call
    Source code(tar.gz)
    Source code(zip)
    rocketeer-2.0.5.phar(3.11 MB)
  • 2.0.4(Dec 8, 2014)

    Changed

    • Better way to get SVN revision (doesn't require auth anymore)
    • Releases are now also pruned from the states.json file when cleaning up
    • Running with debug verbosity (-vvv) now outputs all commands being executed (some were hidden)

    Fixed

    • Fixed loading of strategies in .rocketeer/strategies
    • Fixed polyglot strategies considered failures if non executable
    • Fixed for alternative which responses being considered paths
    • Fixed incorrect replacing of slashs and backslashes outside of paths
    • Fixed ability to pass an unexisting release to the Rollback task
    • Fixed a bug where using SVN would cause Rocketeer to execute empty commands during cloning
    • Fixed an issue where binaries paths would be shared between connections
    Source code(tar.gz)
    Source code(zip)
    rocketeer-2.0.4.phar(3.09 MB)
  • 2.0.3(Nov 16, 2014)

  • 2.0.2(Nov 7, 2014)

    Added

    • Added back the ability to define custom paths in paths.php and reference them via {key}

    Changed

    • Better way to operate around symlinks
    • The passphrase credential is now asked secretely

    Fixed

    • Fixed a bug where credentials were passed twice to SVN checkout (once in the URL, once via options)
    • Fixed custom tasks not being properly bound to container
    • Fixed a bug in the plugin:publish command
    • Fixed a bug where plugins installed globally wouldn't be found by Rocketeer
    • Fixed the no-clear option name not being recognized during update
    • Fixed some issues with SVN credentials
    • Fixed a bug where multiserver connections would share some credentials instead of using their own
    Source code(tar.gz)
    Source code(zip)
    rocketeer-2.0.2.phar(3.09 MB)
  • 2.0.1(Nov 7, 2014)

    Added

    • Added ability to pass the branch/tag/commit to deploy via --branch or -B
    • Added ability to declare tasks fluently via Rocketeer::task('name')->description('description')->does(string|array|Closure)
    • Added no-cache option to rocketeer update to not clear the cache on update

    Fixed

    • Fixed a bug where ignition wouldn't work from the PHAR archive
    • Fixed a missing dependency registered as a dev-dependency
    • Fixed strictness of which system that would fail on some binaries
    • Fixed a bug where events would never be registered when using only hooks.php with one connection/stage
    Source code(tar.gz)
    Source code(zip)
    rocketeer-2.0.1.phar(3.09 MB)
  • 2.0.0(Sep 17, 2014)

    Added

    • Added ability to run tasks in parallel via the --parallel flag (or -P)
    • Added ability to have multiple servers for one connection, just define them in a servers array in your connection, each entry being an usual connection credentials array
    • Added support for defining contextual configurations in files (.rocketeer/connections/{connection}/scm.php, same for stages)
    • Core tasks (Deploy, Check, Test, Migrate) now use a module system called Strategies
    • Added a Sync DeployStrategy in addition to Clone and Copy that uses rsync to create a new release
    • Added static helper Rocketeer::getDetectedStage to get the stage Rocketeer think's he's in on the server (for environment mappings)
    • Added support for checking of HHVM extensions
    • Added Task::upload(file, destination) to upload files to remote, destination can be null and the basename of the file would then be used

    Changed

    • Output now lists which tasks were fired by which task/events, how long they should take, in a tree-like format that clarifies tasks and subtasks
    • For breaking changes, see the Upgrade Path

    Fixed

    • Fixed the Copy strategy
    • Fixed a bug where registered events in hooks would make the notifier plugins fail
    • Fixed a bug where rocketeer current would fail to find the related task
    • Fixed a bug where Artisan wouldn't be found even if at the default location
    • Fixed a bug where ignition would fail when the default connection isn't production
    • Fixed a bug where logs would be misplaced
    • Fixed a bug where tasks and events weren't properly loaded in Laravel
    • Fixed a bug where releases would be asked to the server at each command, slowing down deployments
    • Fixed a bug where events wouldn't be properly rebooted when using connections other than the default ones
    • Fixed a bug where Rocketeer would ask for credentials again after switching connection
    Source code(tar.gz)
    Source code(zip)
    rocketeer-2.0.0.phar(3.09 MB)
  • 1.2.2(Jun 5, 2014)

    Added

    • Added ability to disable composer completely
    • Added support for ssh-agent for secure connections

    Changed

    • The Notifier plugin module now has a hook for before and after deployment

    Fixed

    • Fixed a bug that prevented the --seed option from working
    • Fixed a bug when getting the user's home folder on Windows
    • Fixed a bug where Composer-related tasks would be run even without a composer.json is found
    • Fixed some compatibility issue with Laravel 4.2
    Source code(tar.gz)
    Source code(zip)
    rocketeer-1.2.2.phar(1.57 MB)
  • 1.2.1(Apr 5, 2014)

    Changed

    • Split remote/application_name in config/application_name and remote/app_directory to allow contextual application folder name
    • The composer self-update command is now commented out by default

    Fixed

    • Fixed a bug where composer install wouldn't return the proper status code and would cancel deployment
    • Fixed a bug where empty arrays wouldn't override defaults in the configuration
    • Fixed path to home folder not being properly found in Windows environment
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Mar 8, 2014)

    Added

    • Added various SSH task-running helpers such as Rocketeer::task(taskname, task)
    • Rocketeer now has a copy strategy that copies the previous release instead of cloning a new one on deploy
    • Composer execution is now configurable via a callback
    • Added an option to disable recursive git clone (submodules)
    • Releases are now sorted by date when printed out in rollback and current

    Fixed

    • Fixed a bug when running Setup would cancel the --stage option
    • Fixed a bug where contextual options weren't properly merged with default ones
    Source code(tar.gz)
    Source code(zip)
  • 1.1.2(Feb 12, 2014)

    Added

    • Added a Rocketeer\Plugins\Notifier class to easily add third-party deployment notification plugins

    Fixed

    • Fixed a bug where the custom tasks/events file/folders might not exist
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Feb 8, 2014)

    Fixed

    • Fixed a bug where the before event if halting wouldn't cancel the Task firing
    • Fixed a bug where some calls to the facade would crash in tasks.php
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Feb 8, 2014)

    Added

    • Events can now cancel the queue by returning false or returning $task->halt(error)
    • Rocketeer now logs its output and commands
    • Releases are now marked as completed or halted to avoid rollback to releases that errored
    • Rocketeer will now automatically load .rocketeer/tasks.php/.rocketeer/events.php or the contents of .rocketeer/tasks/.rocketeer/events if they're folders
    • Hash is now computed with the actual configuration instead of the modification times to avoid unecessary reflushes
    • Check task now uses the PHP version required in your composer.json file if the latter exists

    Fixed

    • Use the server's time to timestamp releases instead of the local time
    • Fixed a bug where incorrect current release would be returned for multi-servers setups
    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Jan 13, 2014)

    Added

    • Rocketeer is now available as a standalone PHAR
    • Revamped plugin system
    • Rocketeer hooks now use illuminate/event system, and can fire events during tasks (instead of just before and after)
    • Permissions setting is now set in a callback to allow custom permissions routines
    • Rocketeer now looks into ~/.ssh by default for keys instead of asking
    • Added the --clean-all flag to the Cleanup task to prune all but the latest release
    • Deployments file is now cleared when the config files are changed
    • Added an option to disable shallow clone as it caused some problems on some servers

    Deprecated

    • Configuration is now split in multiple files, you'll need to redeploy the configuration files

    Fixed

    • Fixed a bug where CurrentRelease wouldn't show any release with an empty/fresh deployments file
    • Fixed some multiconnections related bugs
    • Fixed some minor behaviors that were causing --pretend and/or --verbose to not output SCM commands
    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Nov 15, 2013)

  • 0.8.1(Nov 8, 2013)

  • 0.8.0(Oct 19, 2013)

    Added

    • Rocketeer can now have specific configurations for stages and connections
    • Better handling of multiple connections
    • Added facade shortcuts Rocketeer::execute(Task) and Rocketeer::on(connection[s], Task) to execute commands on the remote servers
    • Added the --list flag on the rollback command to show a list of available releases and pick one to rollback to
    • Added the --on flag to all commands to specify which connections the task should be executed on (ex. production, staging,production)
    • Added deploy:flush to clear Rocketeer's cache of credentials
    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Aug 16, 2013)

    Added

    • Rocketeer can now work outside of Laravel
    • Better handling of SSH keys
    • Permissions are now entirely configurable
    • Rocketeer now prompts for confirmation before executing the Teardown task
    • Allow the use of patterns in shared folders
    • Rocketeer now prompts for binaries it can't find (composer, phpunit, etc)

    Changed

    • Share sessions folder by default
    Source code(tar.gz)
    Source code(zip)
  • 0.6.5(Jul 29, 2013)

    Added

    • Make Rocketeer prompt for both server and SCM credentials if they're not stored
    • artisan deploy now deploys the project if the --version flat is not passed
    • Make Rocketeer forget invalid credentials provided by prompt

    Fixed

    • Fix a bug where incorrect SCM urls would be generated
    Source code(tar.gz)
    Source code(zip)
  • 0.6.4(Jul 16, 2013)

    Added

    • Make the output of commands in realtime when --verbose instead of when the command is done

    Changed

    • Reverse sluggification of application name

    Fixed

    • Fix a bug where custom Task classes would be analyzed as string commands
    • Fix Rocketeeer not taking into account custom paths to app/, storage/, public/ etc.
    Source code(tar.gz)
    Source code(zip)
  • 0.6.3(Jul 11, 2013)

    Changed

    • Application name is now always sluggified as a security

    Fixed

    • Fix a bug where the Check task would fail on pretend mode
    • Fix a bug where invalid directory separators would get cached and used
    Source code(tar.gz)
    Source code(zip)
Owner
Rocketeer
Send your projects up in the clouds
Rocketeer
A simple way to deploy your application to a remote location.

Deploy Plugin A simple way to deploy your application to a remote location. Currently in Active Development This plugin is incomplete. This plugin is

The Rain Lab 16 Nov 26, 2022
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 17 Sep 12, 2022
FacEssential is a Core for PMMP, it gathers all kind of plugins needed to create a faction server. It was created from scratch by Clouds#0667.

FacEssential FacEssential is a Core for PMMP, it gathers all kind of plugins needed to create a faction server. It was created from scratch by Clouds#

Zoumi 10 Jun 13, 2022
:computer: Send notifications to your desktop directly from your PHP script

About JoliNotif JoliNotif is a cross-platform PHP library to display desktop notifications. It works on Linux, Windows or MacOS. Requires PHP >= 7.2 (

JoliCode 1.2k Dec 29, 2022
Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Sergi Tur Badenas 110 Dec 25, 2022
This composer plugin allows you to share your selected packages between your projects by creating symlinks

Composer - Shared Package Plugin This composer plugin allows you to share your selected packages between your projects by creating symlinks. All share

L'Etudiant 169 Sep 20, 2022
Developers tool for WordPress plugins: Wraps all your projects dependencies in your own namespace

Developers tool for WordPress plugins: Wraps all your projects dependencies in your own namespace, in order to prevent conflicts with other plugins loading the same dependencies in different versions.

Coen Jacobs 362 Dec 23, 2022
A CLI program that helps you check your endpoints by requesting the given servers and send a report message in any supported channel like Telegram

API Monitor A CLI program that help you check your endpoints by requesting the given servers and send a report message in any supported channel ( Tele

Hussein Feras 51 Aug 21, 2022
Send your laravel apps to the moon with web3 enabled 🚀

Laravel Web3 ?? ?? Laravel Web3 helps you to kickstart your web3 apps. No more headache with handling wallet changing address and sync with laravel ba

Ricardo Sawir 15 Oct 29, 2022
Trigger email failures to assert what happens on your Laravel Application when an email fails to send

Laravel Email Failer composer require --dev rogervila/laravel-email-failer About Trigger email failures to assert what happens on your Laravel Applica

Roger Vilà 30 Jul 17, 2022
Laravel SMS allows you to send SMS from your Laravel application using multiple sms providers, allow to add custom sms provider

Laravel SMS Laravel SMS allows you to send SMS from your Laravel application using multiple sms providers, allow to add custom sms provider Requiremen

Ayman Alaiwah 3 May 7, 2022
myV - Send valentine to Your love!

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

null 2 Feb 14, 2022
Ask your friends to send you an anonymous message without knowing them

Ask your friends to send you an anonymous message without knowing them. ????????

Siavash 1 Apr 16, 2022
A simple Lumen web app to send basic commands and fetch the current status to your Ford vehicle with Sync 3 enabled

FordPass Access This is a simple Lumen web app to send basic commands and fetch the current status to your Ford vehicle with Sync 3 enabled. Local dev

Sam 4 Nov 21, 2022
Laravel Package for 1APP. Learn how to integrate our APIs to build a web or mobile integration to send and accept payments for your application and businesses.

1APP Laravel Library Learn how to integrate our APIs to build a web or mobile integration to accept payments, make payment of Bills and as well custom

O'Bounce Technologies 4 Jul 25, 2022
How to get cookies from users' browser and send the information to your email address and telegram bot

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

MAXWELL 3 Dec 3, 2022
Takes care of Apple push notifications (APNS) in your PHP projects.

Notificato Notificato takes care of push notifications in your PHP projects. Italian: notificato è: participio passato English: notified Why use Notif

Mathijs Kadijk 223 Sep 28, 2022
👀 Manage your views in Laravel projects through artisan

Artisan View This package adds a handful of view-related commands to Artisan in your Laravel project. Generate blade files that extend other views, sc

Sven Luijten 842 Dec 29, 2022