I currently:
-
Have identical environments for development (vagrant) and production (elastic beanstalk).
-
Use
git push
to deploy code from the development to the production environment. -
Create posts and pages using the production environment’s WordPress.
-
Import the production database into the development database to stay in sync.
While I know this strategy works, I feel lost when thinking about how to best manage the installation, activation and â most importantly â synchronization of WordPress’ Plugins.
Installing plugins makes sense… Download. Commit. Deploy. And all environments will have the plugin available.
Activating and synchronizing plugin settings isn’t as clear… Do I need to manually activate and setup each plugin on all environments, or can that be synced between them?
I know each plugin can have unique way of storing data, but I would think with both file and database synchronization everything would match up. Am I missing something?
Between the database and file synchronization you should be covered. The plugin activation will be stored in wp_options table of the database and any data used by plugins should be stored in the database as well, unless it is storing data in files. Make sure that your system accounts for any new tables that may be created by plugins when it is copying over the database.