Allow a site-specific profile to be installed from existing config was finally committed to 8.6.x last week. This means we can now have a re-installable Drupal site without the need of any contrib. modules or patches.
We have used this extensively already in the past 5 months. The core maintainer alexpott recommended the following approach to best use this feature:
- Start your project from minimal or standard (you need an installed Drupal)
- Use https://www.drupal.org/project/install_profile_generator to create yourself a new profile for your project - this will export to your new profile's config/sync directory.
- Start configuring and exporting and committing your new profile with it's config/sync directory
- Then any one getting your code can install your profile and start working on your site. And doing step 3.
Source: Comment #150
With this workflow we no longer need to get a dump of the production database or send a development database between developers internally anymore. Just clone the repo and install the site with Drush and you're done! If you develop a feature that requires configuration changes you can commit those changes in your branch, checkout to the master, re-install the site and have a clean database in its correct state to start work on a new feature and not having to worry about cleaning up etc.
Thanks to all of the contributors on that issue. It's awesome!
Yet another reason to look forward to the 8.6 release :-)