You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Would a flag to also restart the vm on provision be possible, something like trellis provision --reload --tags wordpress development (taking reload from vagrant)?
Currently to perform actions such as adding a new site, assuming the vm/vagrant is running, you must do the following:
trellis vm stop (or trellis down for vagrant)
trellis vm start (or trellis up for vagrant)
trellis provision --tags wordpress development
If you don't perform these steps, the provision fails on "Setup composer authentications":
TASK [wordpress-install : Setup composer authentications (HTTP Basic) - example.com] ***
failed: [default] (item=default-type.composer.deliciousbrains.com) => {"ansible_loop_var": "item", "changed": false, "item": {"hostname": "composer.deliciousbrains.com", "password": "hahayeahright", "username": "notleavingthishere"}, "msg": "In ConfigCommand.php line 218: File \"./composer.json\" cannot be found in the current directory config [-g|--global] [-e|--editor] [-a|--auth] [--unset] [-l|--list] [-f|--file FILE] [--absolute] [-j|--json] [-m|--merge] [--append] [--source] [--] [<setting-key> [<setting-value>...]]", "stdout": "\nIn ConfigCommand.php line 218:\n \n File \"./composer.json\" cannot be found in the current directory [the rest redacted, you get the gist]
This is because the folders haven't been mounted yet. Navigating to the site folder within the vm/vagrant box shows only an empty web folder, hence the composer.json cannot be found error.
🤔 trellis provision --reload --tags wordpress development would be nice, but --reload assumes that provision even knows about a running VM or not... which it currently does not. Maybe it should but it doesn't 😅 Right now it attempts to determine which type of VM you're using (Vagrant or Lima) to set the properly inventory though even that can be naive.
Basically, it's easier to detect that Lima needs to be restarted by checking the generated config file than it is to actually restart it for you. Although, we could always just fire off vm stop && vm start commands and if it works, it works?
This brings up some other options and improvements:
dev.yml playbook (or some role/task within it) should probably check + return a nice error if the /current folder is empty in Trellis itself. Pretty bad experience as is right now that it just randomly fails on the first task that tries to use that directory.
if this is only an issue when adding a new site, what about Feature Request: "add" command for adding extra sites #390? Then instead of having to trellis provision --reload --tags wordpress development, we'd move all of that into trellis site add --provision or something.
Summary
Would a flag to also restart the vm on provision be possible, something like
trellis provision --reload --tags wordpress development
(takingreload
from vagrant)?Currently to perform actions such as adding a new site, assuming the vm/vagrant is running, you must do the following:
trellis vm stop
(ortrellis down
for vagrant)trellis vm start
(ortrellis up
for vagrant)trellis provision --tags wordpress development
If you don't perform these steps, the provision fails on "Setup composer authentications":
This is because the folders haven't been mounted yet. Navigating to the site folder within the vm/vagrant box shows only an empty
web
folder, hence thecomposer.json cannot be found
error.Additional context
Originally posted by @dalepgrant in #421 (comment)
As ever, thank you Roots team 🙏
The text was updated successfully, but these errors were encountered: