welaika / wordmove

Multi-stage command line deploy/mirroring and task runner for Wordpress
https://wptools.it/wordmove
MIT License
1.87k stars 167 forks source link

Support Ruby script to configure wordmove instead of YAML #362

Closed morrislaptop closed 7 years ago

morrislaptop commented 7 years ago

Hi,

I like in Capistrano there is deploy.rb, which is a Ruby script so I can set things dynamically. For example I can load my .env file to read the local domain name.

Since the Movefile is a static YAML file, I can't set things dynamically. Is there a possibility for this?

Thanks, Craig

alessandro-fazzi commented 7 years ago

This is an example of what we do in our dev team:

⟩ cat Movefile
local:
  vhost: "http://localhost:8080"
  wordpress_path: "<%= ENV['WORDPRESS_WORKS_PATH'] %>/tessile"

Obsiously the global $WORDPRESS_WORKS_PATH is exported by our dotfiles as per shared practice; but the spot is on: Movefile is not static since you can evaluate ruby code inside it starting from #145

Consider to close the issue if this is what you need :)

Cheers

morrislaptop commented 7 years ago

Oh thanks, I didn't find this in the documentation, it should definitely be added!

alessandro-fazzi commented 7 years ago

@morrislaptop I agree. If you'll have a little time to contribute, please consider to add some documentation on this wiki page

Cheers

morrislaptop commented 7 years ago

@pioneerskies have you ever considered reading the database details from the wp-config.php or using wp cli after connecting to the server instead of having to duplicate these details inside the Movefile?

alessandro-fazzi commented 7 years ago

We do it on wordmove init for the local environment. We are not considering doing it for other env because we consider a little effort to write down those info, we use Movefile also to quickly share access to new developers, we cannot consider to have cli installed on every remote environment, someone does not use a monolithic wp-config.php but splits it up into different files included from the main one (e.g.: in order to manage automatically different environment-based configurations)...well...is a bit messy out there :)

morrislaptop commented 7 years ago

Ok fair point!