7

Generally, CiviCRM's data is stored in separate tables and you can treat the CRM and CMS as separate entities. Many people store the CRM and CMS in separate databases for convenience (eg exampleorg_drupal & exampleorg_civicrm). Particular items to check, though: If you are using Webform CiviCRM or CiviCRM Entity, you may need to rebuild connections ...


2

CiviCRM Features looked like it had promise: https://www.drupal.org/project/features_civicrm I spoke to the former maintainer, Tim Mallezie, about this a while ago. He was very helpful. The module was proving hard to maintain, as each entity in CiviCRM required it's own handler (perhaps this is something CiviCRM Entity could help with); and the overhead was ...


2

Drush can support VCS deployments and you can tell drush make to keep the .git directory with "drush make --working-copy your-platform.make". However, unless it's changed recently, drush doesn't have post-install hooks, so it won't handle composer/bower/npm well. Composer has support for "post-install-cmd", but civicrm itself is not on packagist. I'm not ...


1

Assuming you did your customizations in an extension you would install the extension on production. If you then want continue updating your customizations in your extension you can do so on test, and then issue a new release of your extension. The Upgrader (check https://docs.civicrm.org/dev/en/latest/extensions/civix/#generate-upgrader) can help you to ...


1

When I posted this question in 2015, we were looking at implementing something. The result, which is not a complete solution as of March 2017, was this extension. Ultimately, we ended up doing something else on that project, which was exporting specific CiviCRM tables and copying them across from dev ➡ stage ➡ prod. I've documented what did and didn't work ...


1

In larger projects we tend to put configuration stuff (like setting up contact_sub_types, activity_type, case_types, groups, tags etc.) in a specific config extension that can then be deployed in each environment. When doing so we tend to put the configuration into json files. But there is nothing like features as far as I know.


Only top voted, non community-wiki answers of a minimum length are eligible