Deployer is a free and open source deployment tool.

Overview

Deployer

StyleCI Build Status Code Coverage

Software License Laravel Version Latest Version StackShare Gitter

Deployer is a PHP Application deployment system powered by Laravel 6.0, written & maintained by Stephen Ball.

Check out the releases, license, screenshots and contribution guidelines.

See the wiki for information on system requirements, installation & upgrade instructions and answers to common questions.

What it does

  • Deploys applications to multiple servers accessible via SSH
  • Clones your project's git repository
  • Installs composer dependencies
  • Runs arbitrary bash commands
  • Gracefully handles failure in any of these steps
  • Keeps a number of previous deployments
  • Monitors that cronjobs are running
  • Allows deployments to be triggered via a webhook

What it doesn't do

License

Deployer is licensed under The MIT License (MIT).

Comments
  • WebSocket connection handshake Error 502

    WebSocket connection handshake Error 502

    vendor-bbb4ee8bb3.js:11 WebSocket connection to 'wss://domain.com/socket.io/?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUz…oxfQ.lMfG9vaMUcLMuwiVRaD1HAy7j2s3T4z8ZQf2QPwSOUY&EIO=3&transport=websocket' failed: Error during WebSocket handshake: Unexpected response code: 502

    does anyone know how to fix this?

    Waiting: Needs Feedback Hide from CHANGELOG 
    opened by skeeith 60
  • not able to setup properly

    not able to setup properly

    Hello,

    I really loved this one and spent more than 2 days to make it working but failed miserably.

    i installed redis, beanstalkd,spervisor everything mentioned but still it says not able to connect to socket.

    I have setup project and server for project (infact i used same server where deployer installed) and added ssh key to authorized_keys, to github private repo

    and if hit "check status" for server...its forever in Testing with loading icon mode.

    I really love this app and want to use it, can you please help me set it up properly.

    thanks.

    Question 
    opened by lorvent 57
  • Deployment fail

    Deployment fail

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [x] You're running the latest release version of Deployer.
    • [x] Ensure that you're running at least PHP 5.6.4, you can check this by running php -v
    • [x] You've ran composer install --no-dev from the root of your installation.
    • [x] You've ran npm install --production from the root of your installation.
    • [x] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [x] You have restarted the queue listener and node socket server.

    To help us better understand your issue, please answer the following.

    Expected behaviour

    Deploy my WordPress website

    Actual behaviour

    I got this error when trying to test deployment.

    image

    and here is error message when I access that deployment history:

    BadMethodCallException in Builder.php line 2508:
    Call to undefined method Illuminate\Database\Query\Builder::getPresenter()
    

    Steps to reproduce

    After setup deployment commands. Run "Deployment"

    Environment info

    Laravel Environment

    • Laravel Version: 5.4.15
    • Timezone: Asia/Ho_Chi_Minh
    • Debug Mode: ✔
    • Storage Dir Writable: ✔
    • Cache Dir Writable: ✔
    • Decomposer Version: ^1.0
    • App Size: 44 MB

    Server Environment

    • PHP Version: 7.0.16
    • Server Software: Apache/2.4.25 (Unix) OpenSSL/1.0.2g
    • Server OS: Linux va-dev 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64
    • Database: mysql
    • SSL Installed: ✘
    • Cache Driver: file
    • Session Driver: file
    • Openssl Ext: ✔
    • PDO Ext: ✔
    • Mbstring Ext: ✔
    • Tokenizer Ext: ✔
    • XML Ext: ✔

    Installed Packages & their version numbers

    • andywer/js-localization : dev-laravel-5
    • backup-manager/laravel : ^1.1
    • creativeorange/gravatar : ~1.0
    • cweagans/composer-patches : ^1.6
    • doctrine/dbal : ~2.5
    • fideloper/proxy : ^3.1
    • graham-campbell/binput : ~3.3
    • graham-campbell/htmlmin : ~4.2
    • guzzlehttp/guzzle : ^6.2
    • intervention/image : ^2.3
    • laravel-notification-channels/hipchat : ~0.2
    • laravel-notification-channels/twilio : ~1.0.2
    • laravel-notification-channels/webhook : ~1.0.2
    • laravel/framework : ^5.4
    • laravel/tinker : 1.0.*
    • lubusin/laravel-decomposer : ^1.0
    • mccool/laravel-auto-presenter : ^5.0
    • michele-angioni/multi-language : 0.3
    • pda/pheanstalk : ~3.1
    • pragmarx/google2fa : ^1.0.0
    • predis/predis : ~1.0
    • tymon/jwt-auth : ~0.5
    • version/version : ^2.2

    Logs (see storage/logs/) or other output that would be helpful

    https://gist.github.com/sondoha/61dbc13230520f8310d7795250c4089a

    Can you please advice? Thank you!

    Waiting: Needs Feedback Hide from CHANGELOG 
    opened by sondoha 33
  • Deployment fails at installing Composer dependencies

    Deployment fails at installing Composer dependencies

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [ ] You're running the latest release version of Deployer.
    • [x] Ensure that you're running at least PHP 5.5.9, you can check this by running php -v
    • [x] You've ran composer install --no-dev from the root of your installation.
    • [x] You've ran npm install --production from the root of your installation.
    • [x] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [x] You have restarted the queue listener and node socket server.

    To help us better understand your issue, please answer the following.

    Expected behaviour

    Install Composer Dependencies should install the dependencies.

    Actual behaviour

    The stage fails. Output is: Creating default object from empty value

    Environment info

    Operating System: Ubuntu PHP Version: PHP 5.6.18-1+deb.sury.org~trusty+1 (cli) Node Version: v0.10.25 Database System: MySQL Database Version: 5.6

    Logs (see storage/logs/) or other output that would be helpful

    (If logs are large, please upload as attachment).

    Bug Priority: High 
    opened by jbrooksuk 30
  • Deployment getting stuck

    Deployment getting stuck

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [x] You're running the latest release version of Deployer.
    • [x] Ensure that you're running at least PHP 5.6.4, you can check this by running php -v
    • [x] You've ran composer install --no-dev from the root of your installation.
    • [x] You've ran npm install --production from the root of your installation.
    • [x] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [x] You have restarted the queue listener and node socket server.

    Expected behaviour

    The deployer should run properly

    Actual behaviour

    The deployer seems to run VERY slowly, so slowly that I don't know if it still runs or is stuck. I have been waiting very long (1h or more). It is getting stuck on the "npm install" task.

    deployer

    This project was working yesterday and the days before. I have upgraded Node in the meantime. I have deleted the node_modules folder and run npm install --production again.

    Steps to reproduce

    No idea

    Environment info

    Operating System: Ubuntu 14 PHP Version: 7.1 Node Version: 7.7.1 Database System: MySQL Database Version: 5.5.50-38.0

    Logs (see storage/logs/) or other output that would be helpful

    (If logs are large, please upload as attachment).

    Can't Reproduce Waiting: Needs Feedback Hide from CHANGELOG 
    opened by axeloz 29
  • https socket not working with letsencrypt

    https socket not working with letsencrypt

    Sorry for another thread :cry:

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [x] You're running the latest release version of Deployer.
    • [x] Ensure that you're running at least PHP 5.5.9, you can check this by running php -v
    • [x] You've ran composer install --no-dev from the root of your installation.
    • [x] You've ran npm install --production from the root of your installation.
    • [x] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [x] You have restarted the queue listener and node socket server.

    To help us better understand your issue, please answer the following.

    Expected behaviour

    I have issued ssl certificates using letsencrypt and passed cert values into .env

    node socket should run properly

    Actual behaviour

    It shows me error that its not running x

    Steps to reproduce

    • install letsencrypt and issue ssl
    • enter certificate info into .env
    • modify node url to https://...

    Environment info

    Operating System: ubuntu 14.04 PHP Version: 7.0.6 Node Version: 4.4.4 Database System: mysql Database Version: 5.6.30

    Logs (see storage/logs/) or other output that would be helpful

    (If logs are large, please upload as attachment).

    Hide from CHANGELOG 
    opened by lorvent 29
  • how to run gulp and chmod storage folder properly

    how to run gulp and chmod storage folder properly

    Hello, i know i am bugging you for whole day... sorry :( but i am trying to do it all the ways possible and spent hours but not able to figure out.

    I want to deploy my laravel project where, i want to

    • run migrations
    • chmod storage, bootstrap/cache folder
    • npm install
    • gulp

    can you please point me in right direction.

    thanks

    Question 
    opened by lorvent 28
  • Error 500 after redirect from / to /auth/login

    Error 500 after redirect from / to /auth/login

    I run the instalation commands from README.md after configure vhost in apache and type my url like deploy.local/ and after it I am redirected to /auth/login and I see HTTP error Code 500 page from chrome.

    What I do wrong ?

    Bug Priority: High 
    opened by maveius 28
  • Feature/user roles

    Feature/user roles

    This feature add an authorization layer on authentication. There are two levels:

    • globally where a user can be a super administrator of the application. This admin can access the admin panel, edit any setting, add projects, groups and users and view and edit any projet.
    • locally per project where a user can be either "regular user" or "manager". A manager can view, edit and deploy the projects he has access to when a regular user can only view and deploy the projects he has access to. None of them can access the admin panel

    Changes are the following:

    • users listed into the admin panel's users page can be set as "administrators".
    • projects listed into the admin panel's projects page can have zero, one or more managers and/or regular users attached to them.
    • projects pages are now protected by Laravel authorizations: a non-admin user can only access the projects he has authorization for.
    • projects views local features are now protected by the @can Laravel's feature to allow edition of some settings.
    • installation process now set the first user as admin
    • the deployer:create-user command now accepts the --admin option in order to define a new user as admin
    • the Laravel's seeders now include a user with the admin role.

    Todos:

    • the autocomplete of users (using bootstrap-tagsinput and bootstrap-3-typeahead) to be attached to a project does work but the data source IS NOT the real actual users list. The users collection has been added into the view but I didn't get how to use this collection from the Projects view.
    • test the deployment process on behalf of a "regular user" and "manager" user
    • prevent an administrator to attach the same user as "regular user" and "manager" for the same project
    Enhancement Context: DB Context: Console/Jobs Context: Frontend/UI 
    opened by axeloz 27
  • Old builds not being deleted

    Old builds not being deleted

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [*] You're running the latest release version of Deployer.
    • [*] Ensure that you're running at least PHP 5.5.9, you can check this by running php -v
    • [*] You've ran composer install --no-dev from the root of your installation.
    • [*] You've ran npm install --production from the root of your installation.
    • [] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [] You have restarted the queue listener and node socket server.

    To help us better understand your issue, please answer the following.

    Expected behaviour

    Previous builds should be removed from server

    Actual behaviour

    it keep on adding new builds so server running out of space.

    when checked, it has 44 builds totally and taking up 6.1GB space :cry:

    Steps to reproduce

    If your issue requires any specific steps to reproduce, please outline them here.

    Environment info

    Operating System: PHP Version: Node Version: Database System: Database Version:

    Logs (see storage/logs/) or other output that would be helpful

    (If logs are large, please upload as attachment).

    Bug Context: Console/Jobs Priority: High 
    opened by lorvent 27
  • Problem to build new projects after upgrading to 0.0.44

    Problem to build new projects after upgrading to 0.0.44

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [X] You're running the latest release version of Deployer.
    • [X] Ensure that you're running at least PHP 5.6.4, you can check this by running php -v
    • [X] You've ran composer install --no-dev from the root of your installation.
    • [X] You've ran npm install --production from the root of your installation.
    • [X] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [x] You have restarted the queue listener and node socket server.

    To help us better understand your issue, please answer the following.

    Expected behaviour

    The deployer shoud be able to clone properly the repository on BitBucket and run all "Active new release" commands.

    Actual behaviour

    Our deployer was at version 0.0.36 (I think, not sure). We had some problems about projects that got "corrupted" after running builds. So we upgraded it to version 0.0.44. We ran all the commands listed on the upgrade section at the Github.

    The corrupted projects got back to normal, and we can create buils without any problem.

    However, if we create a new project (with ou without specific commands to run), deployer can't ever download the repository from Bitbucket. It get's stucked on "Create New Release" as "running". All the next steps get the status "Cancelled".

    We added multiple times the deployer's autogenerated SSH key, without any success.

    deployer

    Steps to reproduce

    • update deployer to version 0.0.44
    • create new project without any command (just clone the repo)
    • run a build

    Environment info

    Operating System: Ubuntu 14.04.4 LTS PHP Version: 5.6.23 Node Version: 0.10.45 Database System: MySQL Database Version: 14.14

    Logs (see storage/logs/) or other output that would be helpful

    I didn't found any log by the correct ocurred time

    Duplicate 
    opened by jbecchi 25
  • 404 on laravel-migrate-fresh

    404 on laravel-migrate-fresh

    Describe the bug

    Running composer install --no-dev -o runs into problems

      [Composer\Downloader\TransportException]                                                                                    
      The "https://api.github.com/repos/REBELinBLUE/laravel-migrate-fresh" file could not be downloaded (HTTP/1.1 404 Not Found)  
    

    Steps to reproduce

    • git clone https://github.com/REBELinBLUE/deployer.git deployer
    • git checkout 0.0.47
    • composer install -o --no-dev

    Screenshots

    20210930-2302 - Screenshot

    Environment info

    Please provide the following instead.

    • Operating System: Debian Buster
    • PHP Version: 7.2 and 7.4
    • Node Version: v12.22.6
    • Database System: MySQL
    • Database Version: Tested with 5.7 and 8
    opened by kromonos 12
  • fetching of project not working from git server

    fetching of project not working from git server

    Hello, How are you doing :)

    Getting back on deployer after a long time.

    I just followed instructions and restored my existing db and files.

    everything working fine except when i start a deployment, it is just in "pending" state and it is more than a day.

    am i doing something wrong?

    thanks.

    opened by lorvent 3
  • A connection could not be established to the socket

    A connection could not be established to the socket

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [x] You're running the latest release version of Deployer.
    • [x] Ensure that you're running at least PHP 7.2.5, you can check this by running php -v
    • [x] You've ran composer install --no-dev from the root of your installation.
    • [x] You've ran npm install --production from the root of your installation.
    • [x] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [x] You have restarted the queue listener and node socket server.
    • [x] You have run artisan self-diagnosis from the root of your installation.

    Describe the bug

    After i restarted the supervisor, the error message A connection could not be established to the socket is always showing.

    Environment info

    Please provide the following instead.

    • Operating System: Ubuntu 18.04
    • PHP Version: 7.4.6
    • Node Version: 14.6.0
    • Database System: MySQL
    • Database Version: 7.4.6
    opened by jackwander 0
  • Optional steps not run when triggered via Webhook

    Optional steps not run when triggered via Webhook

    Hello,

    It seems that optional-but-included-by-default-unless-specified-otherwise steps are not running when the deployment is triggered via a Webhook.

    When running the deployment manually, the step is included.

    Deployer

    Thanks

    opened by axeloz 0
  • Cannot use Deployer with submodules

    Cannot use Deployer with submodules

    Before submitting your issue, please make sure that you've checked all of the checkboxes below.

    • [X] You're running the latest release version of Deployer.
    • [X] Ensure that you're running at least PHP 7.0.8, you can check this by running php -v
    • [X] You've ran composer install --no-dev from the root of your installation.
    • [X] You've ran npm install --production from the root of your installation.
    • [x] You've ran rm -rf bootstrap/cache/* from the root of your installation.
    • [X] You have restarted the queue listener and node socket server.

    Describe the bug

    When trying to use deployer with a repository that has submodules. The deploy fails with the following error: permission denied (publickey) while cloning the submodule.

    Expected behaviour

    It would properly deploy the project.

    Actual behaviour

    The deploy fails due to the error mentioned above without event entering the first step.

    Steps to reproduce

    • Include a project with submodule in deployer.
    • Configure the same ssh key in the master and submodule projects.
    • Try to deploy a version of the project.

    Environment info

    Laravel Environment

    • Laravel Version: 5.5.41
    • Timezone: America/Sao_Paulo
    • Debug Mode: ✔
    • Storage Dir Writable: ✔
    • Cache Dir Writable: ✔
    • Decomposer Version: ^1.0
    • App Size: 2 GB

    Server Environment

    • PHP Version: 7.0.33-0+deb9u3
    • Server Software: nginx/1.10.3
    • Server OS: Linux magneto 3.16.0-6-amd64 #1 SMP Debian 3.16.57-2 (2018-07-14) x86_64
    • Database: pgsql
    • SSL Installed: ✘
    • Cache Driver: file
    • Session Driver: file
    • Openssl Ext: ✔
    • PDO Ext: ✔
    • Mbstring Ext: ✔
    • Tokenizer Ext: ✔
    • XML Ext: ✘
    • Curl Ext: ✘
    • GD Ext: ✔
    • JSON Ext: ✔

    Installed Packages & their version numbers

    • andywer/js-localization : dev-laravel-5
    • backup-manager/laravel : ^1.1
    • creativeorange/gravatar : ~1.0
    • doctrine/dbal : 2.5.13
    • fideloper/proxy : ^3.3
    • graham-campbell/binput : ~4.0
    • guzzlehttp/guzzle : ^6.2
    • htmlmin/htmlmin : ~5.0
    • intervention/image : ^2.3
    • laracademy/interactive-make : ^1.1
    • laravel-notification-channels/hipchat : ~1.0
    • laravel-notification-channels/twilio : ~2.0.1
    • laravel-notification-channels/webhook : ~1.1.0
    • laravel/framework : ^5.5
    • laravel/tinker : 1.0.*
    • lubusin/laravel-decomposer : ^1.0
    • mccool/laravel-auto-presenter : ^6.2
    • melihovv/laravel-log-viewer : ^5.5
    • michele-angioni/multi-language : 0.4
    • pda/pheanstalk : ~3.1
    • pragmarx/google2fa : ^1.0.0
    • predis/predis : ~1.0
    • rebelinblue/laravel5-zxcvbn : ^1.0.0
    • tymon/jwt-auth : ~0.5
    • version/version : ^2.2

    Extra Information

    • proc_open enabled : ✔

    Logs (see storage/logs/) or other output that would be helpful

    [2019-09-05 20:26:38] development.DEBUG: ### Run script locally
    bash -s << 'EOF'
        # Turn on quit on non-zero exit
        set -e
        ### Mirror git repository
    chmod +x /var/www/deployer/storage/app/tmp/ssh5W8wC8
    export GIT_SSH=/var/www/deployer/storage/app/tmp/ssh5W8wC8
    
    if [ ! -d /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git ]; then
        git clone --mirror [email protected]:VE3/colplan.git /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git
    fi
    
    cd /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git
    
    git fetch --all --prune
    EOF
      
    [2019-09-05 20:26:41] development.DEBUG: ### Run script locally
    bash -s << 'EOF'
        # Turn on quit on non-zero exit
        set -e
        ### Get commit details - 1365
    cd /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git
    
    git log master -n1 --pretty=format:"%H%x09%an%x09%ae"
    EOF
      
    [2019-09-05 20:26:41] development.DEBUG: ### Run script locally
    bash -s << 'EOF'
        # Turn on quit on non-zero exit
        set -e
        ### Create release archive - 1365
    git clone --depth 1 --recursive /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git /var/www/deployer/storage/app/tmp/clone_17_20190905202638
    cd /var/www/deployer/storage/app/tmp/clone_17_20190905202638
    git checkout 36cc87b2cbb01f96473c80abce76c85081a871f0
    /var/www/deployer/resources/scripts/tools/GitArchiveAll.sh --tree-ish 36cc87b2cbb01f96473c80abce76c85081a871f0 --format tar.gz --verbose /var/www/deployer/storage/app/17_20190905202636.tar.gz
    cd -
    rm -rf /var/www/deployer/storage/app/tmp/clone_17_20190905202638
    EOF
      
    [2019-09-05 20:26:41] development.DEBUG: ### Run script locally
    bash -s << 'EOF'
        # Turn on quit on non-zero exit
        set -e
        ### List git references
    cd /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git
    
    git tag --list --no-column
    EOF
      
    [2019-09-05 20:26:43] development.DEBUG: ### Run script locally
    bash -s << 'EOF'
        # Turn on quit on non-zero exit
        set -e
        ### List git references
    cd /var/www/deployer/storage/app/mirrors/git_bitbucket.org_VE3_colplan.git
    
    git branch --list --no-column
    EOF
      
    [2019-09-05 20:26:45] development.ERROR: Cloning into '/var/www/deployer/storage/app/tmp/clone_17_20190905202638'...
    warning: --depth is ignored in local clones; use file:// instead.
    done.
    Submodule 'forecaster' ([email protected]:VE3/forecaster.git) registered for path 'forecaster'
    Cloning into '/var/www/deployer/storage/app/tmp/clone_17_20190905202638/forecaster'...
    Permission denied (publickey).
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.
    fatal: clone of '[email protected]:VE3/forecaster.git' into submodule path '/var/www/deployer/storage/app/tmp/clone_17_20190905202638/forecaster' failed
    Failed to clone 'forecaster'. Retry scheduled
    Cloning into '/var/www/deployer/storage/app/tmp/clone_17_20190905202638/forecaster'...
    Permission denied (publickey).
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.
    fatal: clone of '[email protected]:VE3/forecaster.git' into submodule path '/var/www/deployer/storage/app/tmp/clone_17_20190905202638/forecaster' failed
    Failed to clone 'forecaster' a second time, aborting
    

    When nailing down the issue I found that cloning a submodule from a mirror requires authentication. So the ssh configs script should be passed as an argument to the CreateReleaseArchive.sh which should export GIT_SSH as you do when you clone the mirror.

    If you do not need a submodule just remove --recursive from the git clone command.

    opened by FelipeEmerim 9
Releases(0.0.47)
  • 0.0.47(Jun 6, 2018)

    Important

    The first time you deploy an existing project the shared folder structure will be recreated. Deployer will backup your existing shared folder and attempt to migrate any files to the new folder structure; however it is recommended that you take your own backup and confirm everything is in the correct place after your next deploy

    Fixed: SSL certificate requires a password Fixed: Paths with tilde (~) don't work correctly Enhancement: Log error output of processes that did not run successfully (thanks @emielmolenaar) Enhancement: Use full path for shared folders when creating symlinks

    Source code(tar.gz)
    Source code(zip)
  • 0.0.46(Aug 1, 2017)

  • 0.0.45(Mar 27, 2017)

    • Fixed: Event broadcast for log updates causing JOB_TOO_BIG error
    • Fixed: Command reordering not saving (thanks @emielmolenaar )
    • Enhancement: URL checker now logs the response
    • Enhancement: Include the project name in the comment for the SSH key
    Source code(tar.gz)
    Source code(zip)
  • 0.0.44(Feb 25, 2017)

    • Fixed: Installer hangs
    • Fixed: Deployment fails when the mirror of the repository is not up to date
    • Fixed: Fatal error on profile page if PHP internationalisation extension is not installed
    • Fixed: SQL error if the user is not supplied for a custom command
    Source code(tar.gz)
    Source code(zip)
  • 0.0.43(Feb 22, 2017)

  • 0.0.42(Feb 22, 2017)

  • 0.0.41(Feb 21, 2017)

    This is a massive release... some 350 commits since the last release.

    Important

    Please make sure you back up your database, storage and public/avatars directory before updating. Although nothing should go wrong it is better to be safe than sorry.

    Notifications

    Notifications have been completely rewritten. You are now able to select which events you wish to receive notifications for

    • Deployment Successful
    • Deployment Failed
    • Heartbeat Missing
    • Heartbeat Still Missing (i.e. the heartbeat has previously been missed and has not yet recovered)
    • Heartbeat Recovered
    • URL Offline
    • URL Still Offline (similarly to heartbeat still missing)
    • URL Recovered

    Along with these options it is now possible to send notifications via email, slack, hipchat, twilio SMS and to call a webhook URL.

    Other Changes

    • Added: Chinese Translation
    • Added: Partial Russian Translation
    • Added: Ability to select language from your profile
    • Changed: Avatars are now stored in storage/app/public/ as is recommended in Laravel
    • Changed: Upgraded to Laravel 5.4
    • Improvements: A lot of refactoring and rewriting, test coverage has now gone from <5% to >85%

    It is recommended that you backup your avatar directory BEFORE doing a git pull as the directory has been deleted. Once updated simply move the files to the storage/app/public/ folder

    Source code(tar.gz)
    Source code(zip)
  • 0.0.40(Nov 24, 2016)

    • Added: Webhooks now support Gogs & Gitea (thanks @axeloz)
    • Added: The beanstalkd port can now be supplied in .env (thanks @uLow)
    • Fixed: Repositories with git submodules did not work properly
    • Fixed: DB_TYPE undefined error

    Important

    If you had a failed upgrade to 0.0.39 you may need to run the following queries to clean up your database before attempting the upgrade

    DELETE FROM migrations WHERE migration = '2016_09_06_195043_add_targetable_attributes';
    
    ALTER TABLE commands DROP COLUMN target_id;
    ALTER TABLE commands DROP COLUMN target_type;
    
    ALTER TABLE variables DROP COLUMN target_id;
    ALTER TABLE variables DROP COLUMN target_type;
    
    ALTER TABLE config_files DROP COLUMN target_id;
    ALTER TABLE config_files DROP COLUMN target_type;
    
    ALTER TABLE shared_files DROP COLUMN target_id;
    ALTER TABLE shared_files DROP COLUMN target_type;
    

    Please ensure that you backup your database before doing this just to be on the safe side

    Source code(tar.gz)
    Source code(zip)
  • 0.0.39(Oct 23, 2016)

    • Fixed: Allow passphrase to be supplied for SSL certificate key for the node socket server
    • Fixed: Shared Directories were creating duplicates within the shared directory
    • Fixed: Checks for composer 1.2 before using the --no-suggest flag
    • Fixed: Rollback reason wasn't saving
    • Other: Various pieces of DB and code cleanup
    Source code(tar.gz)
    Source code(zip)
  • 0.0.38(Aug 21, 2016)

    • Fixed: There was an issue with the installer if nodejs did not exist in $PATH
    • Fixed: A fatal error on PHP 5 if the git tags for a project do not match valid version strings
    Source code(tar.gz)
    Source code(zip)
  • 0.0.37(Aug 6, 2016)

    • Change: The deployment log now updates if it changes whilst you are viewing it
    • Change: The composer command now doesn't suggest packages (thanks @jbrooksuk)
    • Change: Performance improvements for websockets (thanks @denji)
    • Fixed: A fatal error if the repository you are deploying has tags which are not version numbers
    • Fixed: An error with the installer if the server has certain PDO drivers installed
    • Fixed: The installed now changes for node or nodejs binary
    • Fixed: The updater checks that npm install has been run
    • Fixed: Removed an option which doesn't exist on certain versions of tar
    • Fixed: Translations were wrong for certain tags on the command dialog (thanks @uLow)
    Source code(tar.gz)
    Source code(zip)
  • 0.0.36(May 30, 2016)

  • 0.0.35(May 29, 2016)

    • Added: Support for Github, Gitlab, Bitbucket & Beanstalkapp webhooks
    • Change: Ignore deployments if one is already running
    • Change: "Run as" on commands is now optional, defaults to the server user
    • Fixed: Server error when resetting to Gravater
    • Fixed: Deployment fails when composer isn't installed, instead of downloading it
    • Fixed: Deployment hangs if deploy key is invalid
    • Fixed: Notifications queue up if slack can not be contacted, they now expire after 60 minutes
    • Fixed: Installer now checks that redis & beanstalkd are running
    • Fixed: Bitbucket links are incorrect
    • Fixed: URL checking constantly running, potentially DOSing servers
    • Fixed: php artisan deployer:cleanup not cleaning up stuck deployers which are "aborting"
    • Fixed: Socket server not using redis configuration from .env file
    • Fixed: Process output not showing full log because of some installs the output field was set to text rather than longtext
    Source code(tar.gz)
    Source code(zip)
  • 0.0.34(Apr 26, 2016)

  • 0.0.33(Mar 31, 2016)

    • Fixed: SSH keys were not being generated
    • Fixed: Abort button not being removed when a deployment finishes
    • Fixed: Custom commands were trying to run as the default user for the server rather than the user configured for the command
    • Fixed: A fatal PHP error
    Source code(tar.gz)
    Source code(zip)
  • 0.0.32(Mar 28, 2016)

    • Added: The ability to supply your own SSH key when creating projects
    • Fixed: A bug which caused the project details page to die with a fatal error after deploying a project
    • Fixed: A validation error with the Slack channel name
    • Changed: Project management has been redesigned
    • Changed: All the commands have been moved to scripts in the resources/scripts/ folder so it is easier for people to see what Deployer will do on their server
    • Changed: Various pieces code refactoring and cleanup
    Source code(tar.gz)
    Source code(zip)
  • 0.0.31(Mar 21, 2016)

    • Fixed: Installation was not possible using PostgreSQL
    • Fixed: Some minor styling issues
    • Fixed: Deployment stopped working when using Configuration Files option
    • Fixed: Updater now ensures the node server is restarted
    Source code(tar.gz)
    Source code(zip)
  • 0.0.30(Mar 2, 2016)

    • Added: Git repositories are now mirrored locally to deployer, this can massively speed up the deployment time for larger repositories
    • Added: Groups can now be reordered
    • Added: Update process now creates a backup of the DB first
    • Added: Deployments can be rolled back
    • Fixed: Expired JWT are regenerated
    • Fixed: SQLite works again
    • Fixed: Projects wouldn't deploy if the project didn't have a composer.json file
    • Changed: The composer step now checks for composer or composer.phar in $PATH, then composer.phar in the project folder, otherwise it downloads it
    • Changed: Deployment dialog now shows a dropdown of the available branches and tags rather than a text field
    • Changed: Mcrypt is no longer required
    • Changed: Javascript language strings have been cleaned up to no longer pollute the views
    • Changed: Templates for UI components have been cleaned up
    • Changed: Default queue name has been changed for DB and redis drivers to match the beanstalk driver
    Source code(tar.gz)
    Source code(zip)
  • 0.0.29(Feb 5, 2016)

    This release fixes the botched 0.0.28 release, apologises for the problems caused

    • Changed: The artisan app:update command will re-run the requirements check just to make sure everything is still OK
    • Fixed: Node socket server can now run over HTTPS
    • Fixed: Server connection test ensures the path exists and that the user has read & write permission
    • Fixed: Dialog boxes overlapping the toolbar
    • Fixed: Sidebar not always showing the active project
    • Fixed: Cancelling a deployment still sent a success message to slack
    • Fixed: Adding a new project automatically adds it to the sidebar
    Source code(tar.gz)
    Source code(zip)
  • 0.0.28(Feb 4, 2016)

  • 0.0.27(Jan 29, 2016)

    • Added: An option to specify whether a project should allow you to deploy other branches
    • Added: An option to install composer dev packages with a project
    • Added: Templates allow environmental variables
    • Added: Heartbeats notify on recovery
    • Added: An update prompt if there is a new version of Deployer available
    • Added: A console command for creating users
    • Fixed: Optional deployment steps were not working
    Source code(tar.gz)
    Source code(zip)
  • 0.0.26(Jan 12, 2016)

  • 0.0.25(Jan 12, 2016)

    • Added: Two Factor Authentication
    • Fixed: A conflict between cropper & ace editor mean you could not change your profile image
    • Update: Now using Laravel 5.2
    Source code(tar.gz)
    Source code(zip)
  • 0.0.24(Jan 9, 2016)

  • 0.0.23(Jan 8, 2016)

    • Added: Additional tokens for scripts (#123)
    • Added: The ability to cancel deployments
    • Added: The ability to define env variables such as COMPOSER_PROCESS_TIMEOUT (#108 / #133)
    • Fixed: Bash scripts no longer break if they use variables
    • Fixed: Websocket now uses JWT for security so only authenticated users will be allowed to connect (#135)
    • Update: Various minor style tweaks
    • Update: Merged heartbeats & check links into health checks tab and persistent files & configuration files into files tab
    Source code(tar.gz)
    Source code(zip)
  • 0.0.22(Nov 15, 2015)

    • Added: Toast notifications when deployments finish so you get feedback wherever you are in the app
    • Added: Include a {{ branch }} token for commands
    • Added: Webhook can now accept branch and update_only parameters to only trigger a deployment if the currently deployed branch matches
    • Fixed: DB timeout in queue listener when using MariaDB (thanks @dancryer)
    • Fixed: The installer will now prompt to make sure the storage directory is writable
    • Fixed: A fatal error can occur if there is a problem adding a deployment to the queue as the database is left in an unexpected state
    • Update: Corrected typos and a few small design tweaks
    Source code(tar.gz)
    Source code(zip)
  • 0.0.21(Oct 10, 2015)

    • Added: Socket port can be changed in .env
    • Added: A warning shows if the user could not connect to the socket
    • Fixed: The installer didn't update the admin user correctly
    Source code(tar.gz)
    Source code(zip)
  • 0.0.20(Oct 9, 2015)

    • Added: The webhook now supports a source and url parameter, to allow CI tools such as PHPCI to report that they triggered the deploy and provide a URL to build results
    • Added: node.js socket server now uses the .env file's APP_DEBUG to determine whether to output to the log. Make sure you run $ npm install --production to pull in the required modules
    • Added: The theme can be changed in .env. Options are red, green, blue, purple, yellow with or without -light to change the sidebar to a lighter colour
    • Updated: Changed the names of the queues used to prepend "deployer" to avoid conflicts with other scripts using the rather generic queue names. See examples/supervisor.conf for an updated supervisors config
    • Updated: Changed the supervisor config so that log files rotate when they reach 1MB
    • Fixed: Check URLs would fill the CLI log with lots of exceptions if there were connection problems
    • Fixed: Webhook deployments showing as "Manual" if the last commit matched a user
    • Fixed: The repository name would not show in project details if using the public github URL
    Source code(tar.gz)
    Source code(zip)
  • 0.0.19(Oct 5, 2015)

    Added: User themes Fixed: The installer did not work correctly Fixed: Broken CSS due to an error in gulp-css-minify Fixed: User edit screen broken due to JS error

    Source code(tar.gz)
    Source code(zip)
  • 0.0.18(Oct 4, 2015)

    • Added: A cronjob to clean up left over temp files
    • Improved: Installer now doesn't fail if memcached isn't installed
    • Fixed: Various javascript & UI issues
    Source code(tar.gz)
    Source code(zip)
Owner
Stephen Ball
Engineering Lead at LendInvest
Stephen Ball
Attendize is an open-source ticket selling and event management platform built on Laravel.

Attendize is an open-source ticketing and event management application built using the Laravel PHP framework. Attendize allows event organisers to sel

Attendize 3.6k Jan 6, 2023
📛 An open source status page system for everyone.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

Cachet 13k Dec 31, 2022
Free and Online Accounting Software

Akaunting™ Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It is built with modern tech

Akaunting 5.8k Dec 27, 2022
"Student Management System (SMS) is a solution tool that is designed to track, maintain and manage all the data generated by a School, including the grades of a student.

STUDENT-MANAGEMENT-SYSTEM "Student Management System" (SMS) is a solution tool that is designed to track, maintain and manage all the data generated b

SAMBIT RAJ 13 Aug 21, 2021
Invoices, Expenses and Tasks built with Laravel and Flutter

Invoice Ninja Hosted | Self-Hosted We're on Slack, join us at slack.invoiceninja.com or if you like StackOverflow Just make sure to add the invoice-ni

Invoice Ninja 6.8k Jan 9, 2023
Simple and Robust solution to manage your software development project

Project moved to GitScrum CE https://github.com/gitscrum-team/GitScrum-Frontend More than 6.600 business use GitScrum to manage their agile projects W

GitScrum 2.8k Jan 8, 2023
Vuedo is a blog platform, built with Laravel and Vue.js.

Vuedo What is Vuedo? Vuedo is an open source project built with Laravel and Vue.js. It is a live example of how everything works together. Interested

vuedo 2.3k Dec 24, 2022
Personal CRM. Remember everything about your friends, family and business relationships.

Personal Relationship Manager Monica is a great open source personal relationship management system. Introduction Purpose Features Who is it for? What

Monica 18.5k Jan 2, 2023
Deployer based deployment for WordPress with media and database synchronisation.

deployer-extended-wordpress What does it do? Should I use "deployer-extended-wordpress" or "deployer-extended-wordpress-composer"? Dependencies Instal

SourceBroker 24 Dec 11, 2022
Magento2 Deployment with Deployer (Skeleton)

MageDeploy2 Base Magento2 Deployment Setup using Robo and Deployer. This is the base project you should base your deployments on. It provides an confi

Matthias Walter 44 Jul 18, 2022
Deployer is a PHP Application deployment system powered by Laravel

Deployer is a PHP Application deployment system powered by Laravel 5.5, written & maintained by Stephen Ball.

Stephen Ball 886 Dec 15, 2022
Tool based on deployer.org to perform zero downtime deployments of Magento 2 projects

Magento 2 Deployer Plus Reliable fully-automated deployments tool for Magento 2. Zero downtime deployments on Magento versions >= 2.2 Automating your

Juan Alonso 194 Dec 27, 2022
It is an open-source and free project, which is faced with the drawing lovers, providing a free and simple Gallery service

It is an open-source and free project, which is faced with the drawing lovers, providing a free and simple Gallery service

WeepingDogel 5 Dec 15, 2022
An issue tracking tool based on hyperf+reactjs for small and medium-sized enterprises, open-source and free, similar to Jira.

介绍 本项目以 actionview 为蓝本,使用 Hyperf 框架进行重写。 本项目为 Hyperf 框架的 DEMO 项目 原 ActionView 介绍 English | 中文 一个类Jira的问题需求跟踪工具,前端基于reactjs+redux、后端基于php laravel-frame

Gemini-D 14 Nov 15, 2022
An issue tracking tool based on laravel+reactjs for small and medium-sized enterprises, open-source and free, similar to Jira.

ActionView English | 中文 An issue tracking tool based on php laravel-framework in back-end and reactjs+redux in front-end, it's similar to Jira. You co

null 1.7k Dec 23, 2022
PHPCI is a free and open source continuous integration tool specifically designed for PHP.

PHPCI PHPCI is a free and open source (BSD License) continuous integration tool specifically designed for PHP. We've built it with simplicity in mind,

Dan Cryer 2.4k Dec 26, 2022
PHPCI is a free and open source continuous integration tool specifically designed for PHP.

PHPCI PHPCI is a free and open source (BSD License) continuous integration tool specifically designed for PHP. We've built it with simplicity in mind,

Dan Cryer 2.4k Apr 21, 2021
A deployer library for PHP 5.3

Plum An object oriented deployer library Installation and configuration Plum does not provide and autoloader but follow the PSR-0 convention. $plum =

Julien Brochet 87 Feb 5, 2022
Webloyer is a web UI for managing Deployer deployments

Webloyer Webloyer is a Web UI for managing Deployer deployments. Features Webloyer has the following features: Project management Managing deployment

Yuta Nagamiya 219 Nov 16, 2022
A deployment tool written in PHP with support for popular frameworks out of the box

Deployer A deployment tool written in PHP with support for popular frameworks out of the box. See deployer.org for more information and documentation.

Deployer 9.7k Jan 1, 2023