Version 29 (modified by Fran Boon, 14 years ago) ( diff )

check for conflicts & copy .THIS over

Pakistan Deployment Cycle

We want to do daily upgrades of the system from a single script:

  1. Upgrade Live with code release from UAT
  • Read VERSION from UAT to know which revision to pull to live
    • the 'update' script falls back to 'bzr pull' but supports an 'update XXX' arg to 'bzr pull -r XXX'
  • Send a notification to the list (for testers) with a summary of the day's changes: Full list of fixed bugs to be verified, New features to be Tested
  1. Upgrade UAT to Trunk code
  • Send a notification to the list (for users) with a summary of yesterday's code changes: Focussed on new features & notable bug fixes
  1. Refresh the UAT database with data from Live
  • Include 'uploads' folder
  • Need to ensure that User Accounts in Test are not overwritten
  • Need to ensure that Role memberships in Live & Test can be different

Notifications can be built with info from:

Sysadmin ToDo

  • Confirm versions of all base software the same on both sides
  • Set deployment_settings on UAT to the same as Prod
  • Configure Apache Maintenance site
    ln -sf /etc/apache2/sites-available/maintenance ln -sf
    This should be enhanced by:
     * keeping access to phpMyAdmin
     * allowing access to site through a browser - but using a different
    name (which we don't publish)
     * improving the text on the maintenance page
  • Extend scripts:
    • ConfigurationGuidelines#Usefulaliases
      (check for conflicts & copy .THIS over - eiher parse the bzr output or search filesystem - whichever is easier/quicker)
      {CLI web2py load as 'su web2py')
      (Check for migration failures in databases/sql.log)
      DBsync (tbc)
    • Use Fabric:
  • Rename instance as
    • keep as an alias for now
    • add as an alias too
  • Create a new instance
    • This shouldn't be fully-automated into the upgrades cycle, but does have a script to refresh data from live manually

Other Tasks

Update script for debian packages: SSH into each &

apt-get update; apt-get upgrade

Use Fabric?


  • Get MapProxy working (basic install on 'geo' done)


  • Update Demo (whilst keeping the logins there intact - all other data can be dropped)


  • Investigate a fix or alternative to for allowing Trac users to register bugs anonymously whilst not locking out our testing team.
  • Convert from sqlite to PostgreSQL (or MySQL) to improve performance



Note: See TracWiki for help on using the wiki.