Changes between Version 2 and Version 3 of CodeManagementReleaseProcessOld


Ignore:
Timestamp:
11/22/10 14:29:47 (6 years ago)
Author:
jim
Comment:

half-way through completing documentation!

Legend:

Unmodified
Added
Removed
Modified
  • CodeManagementReleaseProcessOld

    v2 v3  
    1 [[PageOutline(2-5, Table of Contents, floated)]] 
     1[[PageOutline(2-6, Table of Contents, floated)]] 
    22 
    3 '''` JK: This page is not finished... Will tidy & complete ASAP`''' 
     3'''` JK: This page is nearly there, just needs a gentle tidy`''' 
    44 
    55= Code Management and Release Process = 
    66 
    7 The code for the site, including all Drupal core, contrib and custom files (but excluding settings and uploaded assets) is stored in an SVN repository available at https://tech.transitionnetwork.org/svn/ and browser:www. 
     7The code for the site, including all Drupal core, contrib and custom files (but excluding settings and uploaded assets) is stored in an Subversion (SVN) repository available at https://tech.transitionnetwork.org/svn/ and browser:www. 
    88 
    9 == Overview & Principles == 
    10  1. Developers work on their own machines and check into the DEV branch of the SVN repository (https://tech.transitionnetwork.org/svn/branches/DEV) ONLY when their code TESTED functional 
     9== Principles == 
     10This process relies upon all developers understanding: 
     11 
     12 1. You '''never hack Drupal core''' 
     13 1. Developers work on their own machines and check into the DEV branch of the SVN repository (viewable here: browser:www/trunk) ONLY when their code TESTED functional. 
    1114 1. The development server (DEV) mirrors the LIVE environment must be used to test this code before moving to LIVE. 
    1215 1. There is a TEST server which can also be used as required, but is optional unless there is a lot of development work going on or many developers need to test their work in preparation for a release to LIVE. 
     
    1417 1. Database backups must happen before each release to LIVE - this way each release on LIVE has an associated database backup. 
    1518 
     19== Software & Getting Started == 
     20You obviously must have Subversion installed on your machine to work on this project. The basic SVN command line software available for most platforms in from http://subversion.apache.org/ - however, some very nice applications are also available that integrate into your operating system's graphical interface. Recommended '''FREE''' SVN applications with a nice GUI are: 
     21 * Windows: TortoiseSVN - http://tortoisesvn.net/downloads 
     22 * Linux: RabbitVCS - http://wiki.rabbitvcs.org/wiki/download 
     23 * Mac: Not sure, all seems commercial - anyone know better? 
     24 
     25To get started, you need a copy of the code and ideally a web server (Apache), database (MySQL) and Drupal set up on your machine. We assume as a web developer you already have this, but Google and http://drupal.org/start are certainly your friends if not. Once you're set up, please run this command to get a copy of the current development (DEV) code. 
     26{{{ 
     27cd /the/directory/you'll/be/working/in 
     28svn checkout https://tech.transitionnetwork.org/svn/www/trunk 
     29}}} 
     30Once you have this, you will be able to edit files on your machine and then later commit them back to the repository - once TESTED of course! '''Note''' that the above checkout DOES NOT contain the Drupal settings.php files, nor any files uploaded to the server. It will contain the site's theme though: you will need to get or create these as needed for your setup and configuration. Please see  
     31 
    1632== Release Process Detail == 
     33This process gets you from a basic checkout of the code, through committing and testing, to a proper release on the LIVE server. By now you should have a copy of the code checked out as per the section above. 
    1734 
    1835The process is as follows: 
    19  1. Developer(s) commits their changes to the DEV branch (presently https://svn.webarch.net/transition/code/branches/DEV but recommend simplifying this). Testing is done on DEV server to ensure things work as planned. 
     36=== 1. Edit you code, test locally === 
     37As you modify the source code and theme files on your checked out working copy, the differences between your copy and the Trunk will grow. It's wise therefore to do smaller chunks of work and commit once these specific bits are completed. Clearly, if several developers are working on the same areas at once, you will have to coordinate your work and be more careful. 
     38 
     39To update the Trunk with the tested changes you've done so far: 
     40{{{ 
     41cd /the/directory/you're/working/in 
     42svn up 
     43}}} 
     44Repeat this step until you're ready to test it all. 
     45 
     46=== 2. Test on the DEV server === 
     47 
    2048 1. OPTIONAL: Developer updates the TEST server using same code. 
    2149 1. OPTIONAL: Developer solicits feedback and testing from managers/stakeholders if complex changes or new development. This is probably on DEV, but could be on TEST.