Skip to content

Deployer is a free and open source deployment tool.

License

Notifications You must be signed in to change notification settings

Peytz/deployer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deployer

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

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

Gitter

Current Build Status

StyleCI Build Status Code Climate Test Coverage SensioLabs Insight

Release Status

PHP Dependency Status Node Dependency Status Latest Version Software License

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

Usage in production

The master branch of this repository is a development branch and should not be used in production. Changes are merged into the release branch when they are considered stable and may then be tagged for release at any time. It is recommended that you use the latest tag release for production. For information on contributing see contribution guidelines.

Common Error

If you see an error like the following in the logs

'ErrorException' with message 'file_get_contents(/var/www/deployer/public/build/rev-manifest.json): failed to open stream: No such file or directory' in /var/www/deployer/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:343

or the following on the page

ErrorException (E_ERROR) file_get_contents(/var/www/deployer/public/build/rev-manifest.json): failed to open stream: No such file or directory

it means you are not using a production build. You either need to checkout the release branch or a specific release, or install the additional development dependencies

$ composer install
$ npm install (or yarn install)

and then build the assets

$ gulp

Requirements

Optional extras

  • Supervisor to keep the queue listener and Node.js socket server running
  • A caching server, unless you expect a lot of traffic the default file cache is probably enough
  • Yarn an improved package manager for Node.js

Installation

  1. Clone the repository
$ git clone https://github.com/REBELinBLUE/deployer.git
  1. Checkout the latest release
$ git checkout 0.0.40
  1. Install dependencies
$ composer install -o --no-dev
$ npm install --production
  1. Make sure the storage and upload directories are writable
$ chmod -R 777 storage
$ chmod -R 777 public/upload
  1. Run the installer and follow the instructions
$ php artisan app:install
  1. (Optional) Make any additional configuration changes
$ editor .env
  1. Configure your web server to point to public/, see examples/ for Apache and nginx sample configuration files. If you use Apache you will need to ensure you have the mod_rewrite module enabled.

  2. Start socket server and setup cron jobs. If you are not configuring supervisor you will need to manually start the socket server with node socket.js (listens on port 6001 by default) and setup cron jobs, see examples/crontab. If you are configuring supervisor see examples/supervisor.conf

Updating

  1. Get the latest code
$ git fetch --all
$ git checkout 0.0.40
  1. Update the dependencies
$ composer install -o --no-dev
$ npm install --production
  1. Run the updater
$ php artisan app:update

License

Deployer is licensed under The MIT License (MIT).

About

Deployer is a free and open source deployment tool.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 62.0%
  • HTML 17.7%
  • JavaScript 17.7%
  • Shell 2.0%
  • Other 0.6%