Download the PHP package hpatoio/deploy-bundle without Composer
On this page you can find all versions of the php package hpatoio/deploy-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hpatoio/deploy-bundle
More information about hpatoio/deploy-bundle
Files in hpatoio/deploy-bundle
Package deploy-bundle
Short Description Easy deploy via rsync. Porting of Symfony 1 project:deploy command.
License CC-BY-SA-3.0
Homepage http://github.com/hpatoio/DeployBundle
Informations about the package deploy-bundle
DeployBundle
Installation
Run the command:
N.B. This project follow semantic versioning. Latest stable branch is 1.5
.
Enable the bundle in your project
Configuration
Configuration is all about defining environments. You can define as many environments as you want, the only mandatory value is host
. The deploy is made via rsync so default value are used if none are specified.
Remember that to get the configuration reference for this bundle you can run:
Configuration example:
Most of the keys don't need explanation except:
post_deploy_operations
You can add a list of command you want run on the remote server after the deploy. In the configuration above you can see the common command you run after a deploy (clear the cache, publish assets etc) These commands are run as a shell command on the remote server. So you can enter whichever shell command you want (cp, rm etc)
Please don't confuse Symfony environment with deploy environment. As you can see in the configuration above we run post_deploy_operations
for Symfony environment prod
on deploy environment uat
rsync-options
If you add the key rsync-options
to your environment you will override the default options used for rsync. So the system is using:
- "-azC --force --delete --progress -h --checksum" if nothing is specified
- the value for the key
rsync-options
if specified it inconfig.yml
for the target environment - the value of the command line option
--rsync-options
Rsync Exclude
Create a rsync_exclude.txt
file under app/config
to exclude files from deploy. here a good starting point.
You can also create a per-environment rsync_exclude. Just create a file in app/config
with name rsync_exclude_{env}.txt
. For more details you can read here #3 and here #7
Force vendor syncronization
Usually vendor
dir is excluded from rsync. If you need tou sync it you can add --force-vendor
. (see later for an example)
Use
Deployment is easy:
Feel a bit unsure ? Simulate the deploy
Need to update vendor ? Use the option --force-vendor (Usually vendor is excluded from rsync)
Custom parameters for rsync
License
DeployBundle is licensed under the CC-BY-SA-3.0 - see here for details