wordmove

Multi-stage command line deploy/mirroring and task runner for Wordpress

MIT License

Downloads
327.3K
Stars
1.9K
Committers
36

Bot releases are hidden (Show)

wordmove - v5.2.2 Latest Release

Published by alessandro-fazzi about 3 years ago

Bugfixes 🐛

wordmove - 5.2.1

Published by alessandro-fazzi almost 4 years ago

New features 🆕

  • Updating the required Photocopier version, now Wordmove supports ed25519 ssh keys

Bugfixes 🐛

  • there was an error in Wordmove::Hook::Local and Wordmove::Hook::Remote in how the class' logger was defined.

Notes 📓

Due to a stupid error I immediately released 5.2.1 after 5.2.0. I'm sorry about that. This is why you won't find 5.2.0's relase notes.

wordmove - v5.1.0

Published by alessandro-fazzi over 4 years ago

Hello everybody!

I'm particularly happy to announce this release, since it is 💯 % brought to you by contributors!

I'd really like to 👏 and 🙏 and 🎉 those really nice people for these...

Bug fixes

  • by @akiko-pusu #584 : solved a security related problem updating Wordmove from using Kernel#open to using File#Open (tech ref. here)

New features

  • by @Korkey128k #595 : if you mispelled an environment name - wordmove pull -d -e productio anyone? - now you'll receive a really clear and polite error message instead of an exception with an ununderstandable error
  • by @maiorano84 #597 : the --path flag passed to wp-cli now has super powers! Wordmove will read it from your wp-cli.yml when present, otherwise it will set it to its own wordpress_path. This will enable you to easily manage exhotic scaffolds or practices. Any Bedrock user out there? Read more about the discussed features @ #590 and #591. And I'm really happy to thank @nlemoine too, for his terrific report and his contribution to the discussion. The documentation is updated to inform about the behaviour: https://github.com/welaika/wordmove/wiki/movefile.yml-configurations-explained#global-options

I'm totally thrilled by this participation ❤️

A hug 🤗 to all the community hard facing up to COVID-19 👾 . Be safe and keep it up. 💪

wordmove - v5.0.2

Published by alessandro-fazzi almost 5 years ago

The new hook data structure introduced in https://github.com/welaika/wordmove/releases/tag/v5.0.0 was implemented with a main goal: having an arbitrary order on hooks. Due to a bug the code was anyway grouping the hooks by local/remote before the execution, thus breaking the expectation.

wordmove - v5.0.1

Published by alessandro-fazzi almost 5 years ago

  • Fix a bug (https://github.com/welaika/wordmove/issues/569) causing Wordmove to break-up when using passwords containing regular expressions special characters. The bug was introduced in the new "hidden secrets" feature in the logger facility.
  • Refactored 1 test so that we no more need to have wp-cli installed on the CI
wordmove - v5.0.0

Published by alessandro-fazzi almost 5 years ago

Full commit history @ https://github.com/welaika/wordmove/compare/v4.0.1...v5.0.0

New major version, so prepare for the...

Breaking changes

New features

  • project dependencies updated! Yay!
  • wordmove's list command enters the show! https://github.com/welaika/wordmove/pull/548 All of us have to thank @akiko-pusu for the excellent work! 👏
  • refactored the logger implementing "secrets filtering". Sensitive data will no more be logged on STDOUT. We had this need with some customers and moreover I don't want this project's issue tracker to become full of password and users 👾 Currently we mask the following data:
:database, :password
:database, :host
:vhost
:ssh, :password
:ssh, :host
:ftp, :password
:ftp, :host
:wordpress_path
  • database adaptation ("search-and-replace") can now be done with the default wpcli adapter even if you're working outside the project directory. More @ https://github.com/welaika/wordmove/pull/513 and all the applauses go to @tnzk 🎉 👏

Bugfix

  • a bug printing multiple time the Using Movefile: xyz should be fixed

Extra

With the help of @huraji we have discovered a voodoo-ish trick about how to push/pull only specific plugins and themes. If you're curious we have produced a little wiki page @ https://github.com/welaika/wordmove/wiki/Work-only-on-specific-plugins-or-themes 👏

That's all folks 🐰

wordmove - v4.0.1

Published by alessandro-fazzi over 5 years ago

  • 3e58577 Fix doctor's local schema validation

Thanks to @laposlaszlo and @nghh on issue #506 to have spotted this out

wordmove - v4.0.0

Published by alessandro-fazzi almost 6 years ago

Unfortunately this is a major version w/o a lot fun inside :) Anyway I thought about it and IMHO worth the major bump in order to raise your attention about why this release could break something.

The only and interested commit is

  • 252ec90 Hooks raise when their command exits with error

Follow the commit link to read full (?) explanation. But here it is the short one: if you relied on hooks chain in your movefile.yml having a hook exiting with error (a failing hook) before Wordmove just logged the fact and continued its work while now Wordmove logs the fact and exists throwing an exception (so w/ a non-zero exit code).

So as far as it is formally a backward compatible new behavior, we can't risk to let you update production environments or CI/CD servers without a little warning and attention.

The change is introduced because:

  • hooks should be more CD-oriented and so every step MUST be "green" before continue
  • this way you can rely more on the order relation between hooks (a must be completed successfully in order to run b; before it was not possible)
  • you can break long hooks like a && b && c into single, more readable hooks
    - 'a'
    - 'b'
    - 'c'

obtaining the same behavior as using bash's && operator.

  • if you have a lot of hooks or really verbose ones (webpack builds anyone?) now Wordmove will blow up and you certainly will notice the problem. He had a real life experience where we trashed half an hour of work and useless debugging before noticing webpack was no more compiling the production build correctly! 👿

What should I do if I'd like to have optionally failing hooks?

My advice is to wrap your maybe-fail hooks in little shell scripts and manage from there the return status (explicitly exit 0 at the bottom would be enough in most cases)

Future improvements

  • Support maybe fail hooks through configuration
  • do not blow up with stack trace, but rescue with an informational message and/or...
  • chat notifier on success/failure
wordmove - v3.2.3

Published by alessandro-fazzi almost 6 years ago

Full what changed report at https://github.com/welaika/wordmove/compare/v3.2.2...v3.2.3

Resume:

  • removed the command escape for remote hooks' command, since it was causing problem with complex commands. See #492 and thanks to @Frieshansen de8eed2
  • adapt gzip options to Alpine Linux 93a0caa thanks to @cu39
  • Update README.mdown c4655ad thanks to @burhandodhy
  • Update bundler gem dependency. If you'll get errors about bundler you just need to update it one-time with gem install bundler

In the meantime me and all the developers at weLaika would love to

🎉 🆕 🗓 wish you a happy new year!!! 🎉 🆕 🗓

wordmove - v3.2.1

Published by alessandro-fazzi about 6 years ago

wordmove - v3.2.0

Published by alessandro-fazzi about 6 years ago

  • 28eb977 update readme, bump deps and version (sftp support)
  • 31b988a remove ssh as peer dep from readme
  • 37d0129 add ftp port to doctor's validation schema
  • e36424e cite sftp in movefile boilerplate
  • dcf0f99 movefile generator add ftp port option
  • b10dc16 update gitignore

SFTP support

With https://github.com/welaika/photocopier/releases/tag/v1.3.0 we now fully support SFTP protocol in Wordmove. Thanks @xwulfus for his hard testing! We think SFTP is a better place and option over FTP, so we decided to give some love to people who are bound to this protocol.

Hope you'll enjoy

wordmove - v3.1.2

Published by alessandro-fazzi over 6 years ago

With this release we're fixing #479 and #480. The former is particularly interesting for all the bedrock's users 😃

  • c903d8a bug 479: manage scenarios where custom paths doesn't have a common root
  • 9541d8f fix bug simulate was ignored by rsync during push
  • 3bbfedd (tag: v3.1.2.pre) fix bug 479

Thanks to @matthewnw, @akishin and @maiorano84 for their contribute. ❤️

wordmove - v3.1.1

Published by alessandro-fazzi over 6 years ago

  • 6688c1a fix #477 (thanks @SID-Viibar for reporting the issue)

and...well... 😰

  • d732afa fix travis deploy. and another one
  • 49c0cc4 fix travis deploy. and another one
  • c5ba79f fix travis deploy. and another one
  • 2877d10 fix travis deploy
  • 3ea2ba0 fix travis deploy

Had some problem setting up the docker auto-trigger on travis. Not cleaned the history as a reminder of this tragic moment.

wordmove - v3.1.0

Published by alessandro-fazzi over 6 years ago

New feature release with one big bugfix - and a couple smaller too :)

  • 1642065 should fix #428
  • 0caa2fe suppress useless prints during gzip commands
  • e080ac7 update movefile template
  • d098cf8 Merge pull request #469 from rbndelrio/master

Thanks @rbndelrio for his awesome contribute in #469 !!! Go there and read or go in the main readme and search the new "Secrets" section! 🎉

Thanks @dompl to have reported a bug born with wordmove and - hopefully - fixed just now. Fixing #428 required an update to welaika/photocopier and a little revolution in how we make rsync work behind the scenes. We'll keep a close eye on this new behaviour in order to catch regressions ASAP.

Help in debugging always welcome! 🎁

wordmove - v.3.0

Published by alessandro-fazzi over 6 years ago

New major version 3!

So it's important to read release notes ;)

(not so) Breaking changes

  • ec3b047 init movefile with 'wpcli' as default adapter
  • 954dc6a remove charset option, add mysql_options

Now you will need wp-cli installed by default. You can always change back to the default adapter, but you should go ahead and install wp-cli as a better choice!
We have dropped the database.charset configuration, and we have updated docs in the wiki with suggestions to preserve the previous behaviour.

New features

  • 8545bae remote hooks auto change directory to wordpress_path

Hooks, our previous new shiny feature, got improved: remote hooks will be run by default inside the remote wordpress' directory. So you won't have to manually cd in your commands. We hope you'll appreciate. And obviously related documentation is up to date in the wiki ;)

  • b4dde59 add new 'forbid' feature
  • a2a1b7d add forbid formal validation in doctor

🎉 🎉 🎉 🎉 🎉 🎉
#205 and #447 are closed feature requests now! We really hope this feature could be useful for the community, since we have implemented it "just" for you :P

  • 954dc6a remove charset option, add mysql_options

Now you have both database.mysqldump_options and the new database.mysql_options available in the movefile.yml. Ref: #460 and #463 and thanks a lot to @sag5515. This is another step towards a better support for docker environments. (Psss: have you noticed https://github.com/welaika/docker-wordmove ???)

This means that you can pass options to both mysqldump command, used for db export, and mysql command, used for db import.


Let us know if you're happy at https://twitter.com/weLaika

wordmove - v2.5.1

Published by alessandro-fazzi over 6 years ago

  • 2122218 wpcli adapter uses --allow-root flag + test

This should be useful to use wpcli inside docker environments where root is the default user

wordmove - v2.5.0

Published by alessandro-fazzi over 6 years ago

Doctor improvements:

  • 664c085 doctor wpcli discerns not_installed from not_up_to_date errors
  • 9ddbc04 improve doctor mysql to check both server and database connection
wordmove - v2.4.4

Published by alessandro-fazzi over 6 years ago

doctor movefile validator accepts https protocol in local.vhost key.

  • d97f568 doctor movefile local schema: vhost supports https
wordmove - v2.4.3

Published by alessandro-fazzi over 6 years ago

doctor was not not able to test when custom port was used.
Also improved code with shell escaping and using right access to config hash (by symbol now)

  • 8257bed fix Wordmove::Doctor::Mysql#mysql_server_doctor method
wordmove - v2.4.2

Published by alessandro-fazzi over 6 years ago

  • Fix a bug preventing installation on Ruby 2.4.x