ecommit / deploy-rsync-bundle
Deploy Symfony project with Rsync
Installs: 3 273
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^8.1
- ext-mbstring: *
- symfony/config: ^6.4|^7.1
- symfony/console: ^6.4|^7.1
- symfony/dependency-injection: ^6.4|^7.1
- symfony/framework-bundle: ^6.4|^7.1
- symfony/http-kernel: ^6.4|^7.1
- symfony/process: ^6.4|^7.1
Requires (Dev)
- dg/bypass-finals: ^1.3
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^9
README
The EcommitDeployRsyncBundle bundle (for Symfony) deploys your Symfony project with RSYNC.
Installation
Install the bundle with Composer : In your project directory, execute the following command :
$ composer require ecommit/deploy-rsync-bundle
Enable the bundle in the config/bundles.php
file for your project :
return [ //... Ecommit\DeployRsyncBundle\EcommitDeployRsyncBundle::class => ['all' => true], //... ];
In your project, add the configuration file config/packages/ecommit_deploy_rsync.yaml
:
ecommit_deploy_rsync: #Environments configuration environments: my_server1: #Environment name #Target - Required #The target can be either an SSH target or a local target #SSH target format: ssh://<username>@<hostname>:<path> or ssh://<username>@<hostname>:<port>:<path> #Local target format: file://<path> target: ssh://myuser@myserver.com:/home/remote_dir #rsync_options: [] #Rsync command options - Not required - Default values: [] - If not defined, the global rsync_options is used #ignore_file: #Rsync ignore file - Not required - Default value: null - If not defined, the global ignore_file option is used #You can define others environments : #my_server2: #target: ssh://myuser@myserver2.com:/home/remote_dir #Rsync global configuration #rsync: #rsync_path: rsync #Rsync bin path - Not required - Default value: "rsync" #rsync_options #Rsync command options (global) - Default values: # - '-azC' # - '--force' # - '--delete' # - '--progress' #ignore_file: #Rsync ignore file - Not required - Default value: null
Usage
#Perform a trial run with no changes made php bin/console ecommit:deploy-rsync my_server1 #Execute the changes php bin/console ecommit:deploy-rsync my_server1 --go
License
This bundle is available under the MIT license. See the complete license in the LICENSE file.