Difference between revisions of "Using private development sites"

From WormBaseWiki
Jump to navigationJump to search
 
(6 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
Although we maintain a primary checked out version of the source on wb-dev, it's confusing and dangerous to have multiple people editing the same checked out source. Testing of new libraries may also intermittently interrupt others work.
 
Although we maintain a primary checked out version of the source on wb-dev, it's confusing and dangerous to have multiple people editing the same checked out source. Testing of new libraries may also intermittently interrupt others work.
  
Private development environments help to avoid these conflicts. But with a site like WormBase that has large memory and hard disk requirements, maintaining a separate environment can be cumbersome. To alleviate these conflicts, all developers should establish their own private development space.
+
Private development environments help to avoid these conflicts. But with a site like WormBase that has large memory and hard disk requirements, maintaining a separate environment can be cumbersome. To alleviate these conflicts, I've established private development sites for everyone.
  
You can find your private site at:
+
(If you are interested to see how I've done this, please see:  
  
wb-dev:/usr/local/dev/[username]
+
http://bitbucket.org/tharris/wormbase-admin/src/tip/util/create_private_wormbase/create_private_wormbase.sh
 
 
== Starting and stopping your site ==
 
 
 
Use the following command - you do not need to be root:
 
 
 
  /usr/local/wormbase-devel/[username]/apachectl start
 
  /usr/local/wormbase-devel/[username]/apachectl stop
 
  
 
== Ports ==
 
== Ports ==
Line 20: Line 13:
 
I've chosen the following arbitrary ports. Please let me know if there are conflicts:
 
I've chosen the following arbitrary ports. Please let me know if there are conflicts:
  
  Lincoln:   http://brie3.cshl.org:9000/
+
  Lincoln:   http://wb-dev.oicr.on.ca:9000/
  Todd:       http://brie3.cshl.org:9001/
+
  Todd:     http://wb-dev.oicr.on.ca:9001/
  Payan:      http://brie3.cshl.org:9002/
+
  Norie:      http://wb-dev.oicr.on.ca:9002/
  Sheldon: http://brie3.cshl.org:9003/
+
  Abby:       http://wb-dev.oicr.on.ca:9003/
  Will:           http://brie3.cshl.org:9004/
+
  Xiaoqi:     http://wb-dev.oicr.on.ca:9004/
  
Note that these URLs are only valid from within the firewall. The following command will log you in to brie3 via ssh and tunnel to your port so that you can access it outside the firewall:
+
Note that these URLs are only valid from within the firewall. The following command will log you in to web-dev via ssh and tunnel to your port so that you can access it outside the firewall:
  
  ssh -t -l [username] -L [yourport]:localhost:[yourport] brie3.cshl.org
+
  ssh -t -l [username] -L [yourport]:localhost:[yourport] wb-dev.oicr.on.ca
  
 
You should now be able to browse your site at
 
You should now be able to browse your site at
Line 37: Line 30:
 
== Using the "development" site ==
 
== Using the "development" site ==
  
These private sites change the nature of the main "development" site. I think we should consider this as a preview or testing site. I propose the following process:
+
These private sites change the nature of the main development site at http://dev.wormbase.org/ (/usr/local/wormbase/website-classic) into a preview site.
  
 
1. Development and initial testing occurs within the private sites
 
1. Development and initial testing occurs within the private sites
Line 43: Line 36:
 
2. Once complete, cvs commit changes
 
2. Once complete, cvs commit changes
  
3. Check out your changes on main development site (brie3:/usr/local/wormbase) for community testing
+
3. Check out your changes on main development site (wb-dev:/usr/local/wormbase/website-classic) for community testing
 
 
4. To migrate changes to production nodes, check out changes in brie3:/usr/local/wormbase-production
 
  
 
== Important notes ==
 
== Important notes ==
Line 55: Line 46:
 
3. All sites use the same Acedb and GFF databases. *Please* contact me before tinkering with them as these are truly the staging databases used for updating the live site.
 
3. All sites use the same Acedb and GFF databases. *Please* contact me before tinkering with them as these are truly the staging databases used for updating the live site.
  
4. This setup launches minimal separate instances of the httpd. You might need to tweak some server parameters at wormbase-devel/[username]/httpd.conf but the starting values should be okay.
+
4. 3rd party support libraries are found in /usr/local/wormbase/website-classic/extlib
  
5. For those developing support libraries like BioPerl and Gbrowse, you will probably want to modify @INC either in httpd.conf, perl.startup, or your CGI, and then build your libraries in a private path using --PREFIX etc.
+
5. All logging occurs within your private directory in logs/
  
6. All logging occurs within your private directory in logs/
 
  
7. File permissions *should* be correct. Let me know if you notice something awry.
 
  
8. Not all features of the site are available (such as the mailing list archives)
+
[[Category:Developer documentation]]

Latest revision as of 18:42, 17 August 2010

Overview

Although we maintain a primary checked out version of the source on wb-dev, it's confusing and dangerous to have multiple people editing the same checked out source. Testing of new libraries may also intermittently interrupt others work.

Private development environments help to avoid these conflicts. But with a site like WormBase that has large memory and hard disk requirements, maintaining a separate environment can be cumbersome. To alleviate these conflicts, I've established private development sites for everyone.

(If you are interested to see how I've done this, please see:

http://bitbucket.org/tharris/wormbase-admin/src/tip/util/create_private_wormbase/create_private_wormbase.sh

Ports

I've chosen the following arbitrary ports. Please let me know if there are conflicts:

Lincoln:   http://wb-dev.oicr.on.ca:9000/
Todd:      http://wb-dev.oicr.on.ca:9001/
Norie:      http://wb-dev.oicr.on.ca:9002/
Abby:       http://wb-dev.oicr.on.ca:9003/
Xiaoqi:     http://wb-dev.oicr.on.ca:9004/

Note that these URLs are only valid from within the firewall. The following command will log you in to web-dev via ssh and tunnel to your port so that you can access it outside the firewall:

ssh -t -l [username] -L [yourport]:localhost:[yourport] wb-dev.oicr.on.ca

You should now be able to browse your site at

http://localhost:[yourport]/
 

Using the "development" site

These private sites change the nature of the main development site at http://dev.wormbase.org/ (/usr/local/wormbase/website-classic) into a preview site.

1. Development and initial testing occurs within the private sites

2. Once complete, cvs commit changes

3. Check out your changes on main development site (wb-dev:/usr/local/wormbase/website-classic) for community testing

Important notes

1. All sites are checked out source from the CVS repository. You can commit changes as normal.

2. Please note that some files (elegans.pm, httpd.conf, perl.startup) require some modification to paths to get these sites to work. DO NOT CHECK IN CHANGES TO THESE FILES - they will break the live and development sites.

3. All sites use the same Acedb and GFF databases. *Please* contact me before tinkering with them as these are truly the staging databases used for updating the live site.

4. 3rd party support libraries are found in /usr/local/wormbase/website-classic/extlib

5. All logging occurs within your private directory in logs/