Staging Deploy Fails When New Plugin Is Added


#1

Hi everyone,

I have been building a new site with Trellis. A couple months ago I set up a staging server which I have been frequently deploying to using the deploy.sh script provided by Trellis. Things have gone smoothly up until now.

I have added plugins to my project without issue in the past but yesterday I added a new plugin (specifically Single Category Permalinks) to my composer.json file.

I ran composer update && composer install locally (thus modifying my composer.lock file) and redeployed my local instance. The plugin showed up as expected and I was able to use it in Wordpress.

I committed my changes and attempted to deploy to staging with the usual command: ./deploy.sh staging mywebsite.com.

The deploy failed at the Wordpress Installed? task. I went to my staging server and got back a blank page. I also ssh’d into my server and verified that Wordpress was installed.

Nervous, I checked out the most recent commit that been deployed and deployed that to staging. This went fine and the staging site was running again.

I’m at a loss for why this is happening. The only change between the two commits is the addition of this new plugin. In the past I have added plugins to the site with no issue. Why would the presence of this plugin cause the deploy script to not detect the Wordpress installation?

Any ideas? I searched around this forum and couldn’t find any similar issues. I am new to Trellis and not sure how to debug this. Would appreciate any debugging tips or solutions. Apologies if there are relevant details missing from this post, let me know what they are and I will add them.

Thanks!


#2

You could try running that Wordpress Installed? locally on your dev VM with that plugin to see if you can replicate it? It would be easier to debug there at least.

edit: I mean run this command:

wp core is-installed --skip-plugins --skip-themes --require=tmp_multisite_constants.php on your VM.

You’ll have to save this file first on the VM.


#3

I too was having the same problem of a deploy failing at Wordpress Installed?, and can confirm it had to do with the changes with Johnpbloch/wordpress. You’ll want to do the fix from this thread:

Local dev

# run commands in local machine Bedrock `site` dir
composer remove johnpbloch/wordpress
composer clear-cache
composer require johnpbloch/wordpress:4.7.3

# git add..., git commit..., git push...

Remote server

# run commands in local machine `trellis` dir
# edit `production` to be your <environment>
# edit `example.com` to be your site name

ansible "web:&production" -m command -a "composer clear-cache" -u web

ansible-playbook deploy.yml -e env=production -e site=example.com -e 'project_copy_folders=[]'

#4

Thank you for the response!

I think that I did what you are asking though, I’m not sure what to make of the outcome…

$ vagrant ssh
# I put the tmp_multisite_constants.php file in ~
vagrant@mysite:~$ wp core is-installed --skip-plugins --skip-themes --require=/home/vagrant/tmp_multisite_constants.php
Error: This does not seem to be a WordPress install.
Pass --path=`path/to/wordpress` or run `wp core download`.
vagrant@mysite:~$ cd /vagrant-nfs-mysite.com
vagrant@mysite:~$ wp core is-installed --skip-plugins --skip-themes --require=/home/vagrant/tmp_multisite_constants.php
vagrant@mysite:~$ # Nothing happened?

#5

Thanks so much for the response!

I made this change and things are working as expected!