If you are upgrading Deployer from version 3 to 4 you will see issues when trying to deploy, for example:
[ERROR] Error: Call to undefined function set() in /Users/stakhr/site/deploy.php:5
Stack trace:
#0 phar:///Users/stakhr/site/deployer.phar/bin/dep(114): require()
#1 phar:///Users/stakhr/site/deployer.phar/bin/dep(115): {closure}()
#2 /Users/stakhr/site/deployer.phar(4): require('phar:///Users/s...')
#3 {main}
To fix these issues, you need to do a few things:
- Add a Deployer namespace declaration at the top of your
deploy.php
file, like this:namespace Deployer;
- The
env()
function has been deprecated. Replace it withset()
when setting variables (two parameters) andget()
when getting variables (one parameter) - The underlying SSH implementation will be changed in Deployer 5, so add
set('ssh_type', 'native');
to fix the nag that shows up.
Here is a full example of deploying a WordPress site using Deployer 4
PS. I’ve also noted that running deployer self-update
on version 3 does not upgrade to version 4.