onigoetz / deployer
A configurable deploy script
Requires
- php: >=5.5.0
- phpseclib/phpseclib: ~0.3
- symfony/console: ~2.2|~3.0
Requires (Dev)
- mockery/mockery: ~0.9
- phpmd/phpmd: ~2.0
- phpunit/phpunit: ~4.0|~5.0
- squizlabs/php_codesniffer: ~2.0
This package is auto-updated.
Last update: 2023-08-16 18:13:00 UTC
README
Deprecated
This package is deprecated, and won't receive any update. There are most certainly better tools to do this.
Easily deploy your applications
Deployer is a tool that helps to deploy projects of any type to a server with minimal requirements.
Requirements on the server side:
- SSH Access to the server
- PHP if you want to use composer
The library works perfectly and is used in production for a few years now. It is still marked as beta as there are some things I still want to improve.
What does it do better than others ?
There are so much tools to deploy an application to one or many servers, the problem is that they're hard to configure and / or they need to install software on the destination server.
This tool has two advantages:
- Nothing needs to be installed on the destination
- Very simple configuration
Deploying is as simple as :
./deploy server:deploy production
Commands
Two commands are available
- server:deploy : To deploy the latest commit on one or more servers
- server:rollback : To rollback the latest deploy on one or more servers
Installation
You can install the library through composer. All you need is to add it as dependency to your composer.json.
{ "require-dev": { "onigoetz/deployer": "1.0.0-beta2" } }
Quick Start
The full documentation is available at
In Laravel 4
Add the following lines to your application in config/local/app.php
'providers' => append_config( ['Onigoetz\Deployer\DeployServiceProvider'] ),
With that part configured you can run ./artisan config:publish onigoetz/deployer
this will copy the default configurations to config/packages/onigoetz/deployer
You can find the details of each file in the Configuration section
Then you can run ./artisan server:deploy production
to deploy
Standalone launcher
This time the configuration is made in a folder called .deployer
to do this, add deployer to your composer dependencies and do
cp vendor/onigoetz/deployer/src/config .deployer
You can now configure your infrastructure.
Then you can run vendor/bin/deployer server:deploy production
to deploy
Roadmap
The ideas I have partly implemented or that I want to implement
- Connect to servers with SSH Keys instead of the usual username:password combo
- Create a zip locally and upload it to the server. (instead of a zip clone)