mirror of
https://github.com/deployphp/deployer.git
synced 2025-02-22 00:03:48 +01:00
194 lines
5.1 KiB
Markdown
194 lines
5.1 KiB
Markdown
<!-- DO NOT EDIT THIS FILE! -->
|
||
<!-- Instead edit recipe/symfony.php -->
|
||
<!-- Then run bin/docgen -->
|
||
|
||
# How to Deploy a Symfony Application
|
||
|
||
```php
|
||
require 'recipe/symfony.php';
|
||
```
|
||
|
||
[Source](/recipe/symfony.php)
|
||
|
||
Deployer is a free and open source deployment tool written in PHP.
|
||
It helps you to deploy your Symfony application to a server.
|
||
It is very easy to use and has a lot of features.
|
||
|
||
Three main features of Deployer are:
|
||
- **Provisioning** - provision your server for you.
|
||
- **Zero downtime deployment** - deploy your application without a downtime.
|
||
- **Rollbacks** - rollback your application to a previous version, if something goes wrong.
|
||
|
||
Additionally, Deployer has a lot of other features, like:
|
||
- **Easy to use** - Deployer is very easy to use. It has a simple and intuitive syntax.
|
||
- **Fast** - Deployer is very fast. It uses parallel connections to deploy your application.
|
||
- **Secure** - Deployer uses SSH to connect to your server.
|
||
- **Supports all major PHP frameworks** - Deployer supports all major PHP frameworks.
|
||
|
||
You can read more about Deployer in [Getting Started](/docs/getting-started.md).
|
||
|
||
The [deploy](#deploy) task of **Symfony** consists of:
|
||
* [deploy:prepare](/docs/recipe/common.md#deployprepare) – Prepares a new release
|
||
* [deploy:info](/docs/recipe/deploy/info.md#deployinfo) – Displays info about deployment
|
||
* [deploy:setup](/docs/recipe/deploy/setup.md#deploysetup) – Prepares host for deploy
|
||
* [deploy:lock](/docs/recipe/deploy/lock.md#deploylock) – Locks deploy
|
||
* [deploy:release](/docs/recipe/deploy/release.md#deployrelease) – Prepares release
|
||
* [deploy:update_code](/docs/recipe/shopware.md#deployupdate_code) –
|
||
* [deploy:shared](/docs/recipe/deploy/shared.md#deployshared) – Creates symlinks for shared files and dirs
|
||
* [deploy:writable](/docs/recipe/deploy/writable.md#deploywritable) – Makes writable dirs
|
||
* [deploy:vendors](/docs/recipe/deploy/vendors.md#deployvendors) – Installs vendors
|
||
* [deploy:cache:clear](/docs/recipe/symfony.md#deploycacheclear) – Clears cache
|
||
* [deploy:publish](/docs/recipe/common.md#deploypublish) – Publishes the release
|
||
* [deploy:symlink](/docs/recipe/deploy/symlink.md#deploysymlink) – Creates symlink to release
|
||
* [deploy:unlock](/docs/recipe/deploy/lock.md#deployunlock) – Unlocks deploy
|
||
* [deploy:cleanup](/docs/recipe/deploy/cleanup.md#deploycleanup) – Cleanup old releases
|
||
* [deploy:success](/docs/recipe/common.md#deploysuccess) –
|
||
|
||
|
||
The symfony recipe is based on the [common](/docs/recipe/common.md) recipe.
|
||
|
||
## Configuration
|
||
### symfony_version
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L8)
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
$result = run('{{bin/console}} --version');
|
||
preg_match_all('/(\d+\.?)+/', $result, $matches);
|
||
return $matches[0][0] ?? 5.0;
|
||
```
|
||
|
||
|
||
### shared_dirs
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L14)
|
||
|
||
Overrides [shared_dirs](/docs/recipe/deploy/shared.md#shared_dirs) from `recipe/deploy/shared.php`.
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
[
|
||
'var/log',
|
||
]
|
||
```
|
||
|
||
|
||
### shared_files
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L18)
|
||
|
||
Overrides [shared_files](/docs/recipe/deploy/shared.md#shared_files) from `recipe/deploy/shared.php`.
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
[
|
||
'.env.local'
|
||
]
|
||
```
|
||
|
||
|
||
### writable_dirs
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L22)
|
||
|
||
Overrides [writable_dirs](/docs/recipe/deploy/writable.md#writable_dirs) from `recipe/deploy/writable.php`.
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
[
|
||
'var',
|
||
'var/cache',
|
||
'var/log',
|
||
'var/sessions',
|
||
]
|
||
```
|
||
|
||
|
||
### log_files
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L29)
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
'var/log/*.log'
|
||
```
|
||
|
||
|
||
### migrations_config
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L31)
|
||
|
||
|
||
|
||
|
||
|
||
### doctrine_schema_validate_config
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L33)
|
||
|
||
|
||
|
||
|
||
|
||
### bin/console
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L35)
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
'{{bin/php}} {{release_or_current_path}}/bin/console'
|
||
```
|
||
|
||
|
||
### console_options
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L37)
|
||
|
||
|
||
|
||
```php title="Default value"
|
||
return '--no-interaction';
|
||
```
|
||
|
||
|
||
|
||
## Tasks
|
||
|
||
### database:migrate
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L42)
|
||
|
||
Migrates database.
|
||
|
||
|
||
|
||
|
||
### doctrine:schema:validate
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L52)
|
||
|
||
Validate the Doctrine mapping files.
|
||
|
||
|
||
|
||
|
||
### deploy:cache:clear
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L57)
|
||
|
||
Clears cache.
|
||
|
||
|
||
|
||
|
||
### deploy
|
||
[Source](https://github.com/deployphp/deployer/blob/master/recipe/symfony.php#L66)
|
||
|
||
Deploys project.
|
||
|
||
|
||
|
||
|
||
This task is group task which contains next tasks:
|
||
* [deploy:prepare](/docs/recipe/common.md#deployprepare)
|
||
* [deploy:vendors](/docs/recipe/deploy/vendors.md#deployvendors)
|
||
* [deploy:cache:clear](/docs/recipe/symfony.md#deploycacheclear)
|
||
* [deploy:publish](/docs/recipe/common.md#deploypublish)
|
||
|
||
|