Jump to navigation Jump to search
Creating a Drupal upgrade patch
- cd to your development clone of wikimedia/fundraising/crm.
# Get and unpack the new release VERS=7.27 # for example wget http://ftp.drupal.org/files/projects/drupal-$VERS.tar.gz tar xzf drupal-$VERS.tar.gz # We're first operating on the upstream tracking branch. cd drupal git fetch --all; git checkout -t origin/contrib # It's best to wipe out any deprecated files, as we do here, # but you can omit the delete/exclude stanzas if you'd like. rsync -av \ --delete --exclude '.git*' --exclude 'sites' \ ../drupal-$VERS/ ./ # Toss pinch of salt and add everything you find. git add -A git commit -m "Upgrade to Drupal $VERS upstream"
- Push the drupal contrib commit for review. DO NOT SELF-MERGE, even if it seems like an emergency.
- Merge to trunk
git checkout -t origin/master git merge -m "Merge contrib" contrib # Do stupid thing to satisfy git-review git commit --amend
- Push the drupal master commit for review.
- In the top-level crm directory, update the submodule pointer.
cd .. git checkout -t origin/master git add drupal git commit -m "Update drupal submodule to $VERS"
- Push the submodule bump for review. The three review steps can be prepared in parallel, fwiw.
- If there are any doubts, deploy to the staging box and test.
Deploying a Drupal upgrade
Please note that your particular upgrade may require additional precautions or other action, see the Drupal release notes for details.
- Shut down all jenkins jobs which depend on the CRM. Just turn 'em all off if you're feeling lazy.
- Kill the lights:
# Make the site inaccessible drush vset site_offline 1; drush vset maintenance_mode 1 # Clear caches drush cc all # Disable modules. Please save this list to your notepad. MODULES=`drush pml --type=module --status=enabled --no-core --pipe` echo "Disabling modules $MODULES" drush dis $MODULES
- Verify database backups are current.
- Deploy new wikimedia/fundraising/crm code.
- Make any necessary changes to settings.php and civicrm.settings.php — these are not under the same source control.
- Start doing naughty things you cannot recover from without a database restore...
# Update Drupal core schema drush updatedb # Enable modules drush en $MODULES # Update module schemas drush updatedb # Make site accessible drush vset site_offline 0; drush vset maintenance_mode 0
- Turn jobs on again, slowly and carefully.
Read the CiviCRM release notes.
- Port from old notes
- Howto create patches and upstream things.