Genome Browser in a box config: Difference between revisions

From genomewiki
Jump to navigationJump to search
Line 40: Line 40:
* for public release, the box in this beta state is cleaned and zipped. This zip can be tested on Windows or OSX. This zip is then pushed to hgdownload.
* for public release, the box in this beta state is cleaned and zipped. This zip can be tested on Windows or OSX. This zip is then pushed to hgdownload.


Development can happen on the devbox, a development version of the browserbox with git, gcc etc. For testing during development, a special command on the box can pull in the CGIs that were compiled on the devbox.  
For development see [[Gbib development]].
 


== Beta testing ==
== Beta testing ==

Revision as of 12:14, 10 April 2014

Virtual machines

The Gbib is a ubuntu 13 linux with apache, mysql and the default tools. See Preparing_VirtualBox_images

Hgwdev has virtualbox installed and two virtual machines (VMs) added: browserbox and browserbox-dev. Browserbox-dev can be used for development of box-specific patches, it is not relevant for QA. browserbox is the "master" image of the gbib and used by QA.

qateam has aliases to start and stop the VMs: boxStart / boxStop

Once started, browserbox listens at port 1234 for web requests and at 1235 for ssh

Development for the Gbib is described on Gbib development.

SSH

So you can do "ssh box" on hgwdev to connect to the box.

There is no password, because the qateam ssh key was added to the box.

This works because qateam has this entry in their .ssh/config:

 Host box
 Hostname localhost
 Port 1235
 User browser

Connecting to the boxes from your desktop machine

browserbox and browserbox-dev both accept only connections from hgwdev, not from outside. You cannot connect from your desktop machine to any box. So ssh on your desktop has to be told to forward a few ports to hgwdev. Once you start ssh, it will listen to some ports on your machine, all data gets tunneled through the ssh connection and appears on hgwdev on the localhost interface, where hgwdev will forward it to the browserbox. To make this happen, add this to your file ~/.ssh/config on your own OSX or linux machine:

 Host hgwdevtunnel
 Hostname hgwdev.sdsc.edu
 User <YOURHGWDEVUSER e.g. rhead>
 LocalForward 127.0.0.1:1234 127.0.0.1:1234
 LocalForward 127.0.0.1:1236 127.0.0.1:1236

You can then do a "ssh devtunnel" to get connected to hgwdev and have the ports on your machine 1234 (or 1236) forwarded to the boxes. Port 1234 is a http port, so you can then work the browserbox by going to http://127.0.0.1:1234

Box release cycle

  • for beta testing, a special update target on the box can pull in the beta CGIs that were compiled by the buildmeister
  • for public release, the box in this beta state is cleaned and zipped. This zip can be tested on Windows or OSX. This zip is then pushed to hgdownload.

For development see Gbib development.

Beta testing

Copy cgi-bin-beta from hgwdev into the beta distribution directory of the box:

 ssh box updateBrowser beta

Setup the tunnel:

 ssh hgwdevtunnel

Now you can test the beta CGIs via http://127.0.0.1:1234.

Release

To release the box:

 boxRelease

This will ssh into the box, clean it (remove temp files, sessions, etc), stop it, zip it into a zipfile and place it onto hgwdev on http://hgwdev.soe.ucsc.edu/browserbox/browserbox.zip This zipfile can then be pushed to hgdownload.