If you use Deployer as your deployment tool
and .env files to handle environment variables (i.e., Symfony) this library is for you.
Are you still accessing your server to update environment variables manually after a deployment? We also did that, and that's the main reason why we built this library.
Now we have a very specific, but simple, strategy for updating the .env files during deployment:
-
We do not share the
.env.local.php,.env.localfiles as is the default by Deployer. Instead, we have a.env.[stage].localand.env.local.phpin each release folder. -
When deploying, we copy the
.env.[stage].localfile from the previous release (if there was a previous release, else we create it). -
If you’re deploying interactively (i.e., manually), you’re presented with a dialog asking if you want to update any environment variables.
-
Finally, we run
composer symfony:dump-env [stage]to generate the.env.local.phpfile for the current release.
composer require setono/deployer-dotenvIn your deploy.php file require the recipe:
<?php
namespace Deployer;
require_once 'recipe/setono_dotenv.php';
// ...This will automatically hook into the default flow of Deployer.