Changes between Version 1 and Version 2 of CodeManagementReleaseProcess


Ignore:
Timestamp:
11/03/11 18:20:57 (5 years ago)
Author:
jim
Comment:

started Git changes.

Legend:

Unmodified
Added
Removed
Modified
  • CodeManagementReleaseProcess

    v1 v2  
    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 set of Git repositories available at https://tech.transitionnetwork.org/svn/www/ and browser:www. 
     7The code for the website and other projects - like the Sharing Engine(s) - including all Drupal core, contrib and custom files (but excluding settings and uploaded assets) is stored in a set of Git repositories available at https://tech.transitionnetwork.org/trac/browser. 
    88 
    9 The code was previously in another repository, https://svn.webarch.net/transition/ and it was migrated to the current one, without the history, via ticket:92. 
     9The code was previously in a SVN repository, details of which are at CodeManagementReleaseProcessOLD. 
    1010 
    1111== Principles == 
     
    1313 
    1414 1. You '''never hack Drupal core''' 
    15  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. 
    16  1. The [http://dev.transitionnetwork.org.webarch.net/ development server (DEV)] mirrors the LIVE environment must be used to test this code before moving to LIVE. 
     15 1. Developers work on their own machines and check/push code into into the repository ONLY when their code TESTED functional. 
     16 1. The [http://dev.transitionnetwork.org.webarch.net/ development server (DEV)] mirrors the LIVE environment must be used to test this code before moving to LIVE. This server also holds the Git repositories. 
    1717 1. There is a [http://test.transitionnetwork.org.webarch.net/ 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. 
    18  1. The LIVE server ONLY EVER gets tagged releases put on it. Such releases must be tested (both on a local developer machine AND on DEV) prior to release. Hence, the LIVE server moves from one tagged release to the next. 
     18 1. The LIVE server ONLY EVER gets tagged releases pulled onto it. Such releases must be tested (both on a local developer machine AND on DEV) prior to tagging and release. Hence, the LIVE server moves from one tagged release to the next. 
    1919 1. Database backups must happen before each release to LIVE - this way each release on LIVE has an associated database backup. Go to 'Site building' -> 'Backup & migrate' (or use the command line NewLiveServer#mysql-backup script) to create the backup. 
    2020 1. You can update the test and dev site's databases and files to match the live server using the DevelopmentServer#live2dev script. 
    2121 
    2222== Software & Getting Started == 
    23 You 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: 
    24  * Windows: TortoiseSVN - http://tortoisesvn.net/downloads 
     23You obviously must have Git installed on your machine to work on this project. The basic Git command line software available for most platforms in from http://git-scm.com/ - however, some very nice applications are also available that integrate into your operating system's graphical interface. Recommended '''FREE''' Git applications with a nice GUI are: 
    2524 * Linux: RabbitVCS - http://wiki.rabbitvcs.org/wiki/download 
     25 * Windows: Lots available... 
    2626 * Mac: Not sure, all seems commercial - anyone know better? 
    2727 
    2828To 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. 
     29 
     30You will also need an SSH account set up on the DEV server so that you are able to log in and get code, or push it back again. 
    2931{{{ 
    30 cd /the/directory/you'll/be/working/in 
    31 svn checkout https://tech.transitionnetwork.org/svn/www/trunk 
     32cd /the/directory/you/want/the/project/folder/in 
     33git clone ''USER''@dev.transitionnetwork.org:/web/tech.transitionnetwork.org/git/www/ 
    3234}}} 
    33 Once 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  
     35Where 'USER' is the account name of your SSH account on DEV. You'll be asked for your account password on DEV before Git copies the repository onto your machine. Also, the 'www' at the end of the second command can be exchanged for the other project folders, e.g. 'sharing-engine'. 
     36 
     37Once 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. 
    3438 
    3539== Release Process Detail ==