Difference between revisions of "How to create new OSGeo BuildBot instance"

From OSGeo
Jump to navigation Jump to search
(First draft of this HOWTO)
 
m (Linked Buildbot page)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
See [[Buildbot]] for more information.
 +
 
= Draft =
 
= Draft =
 +
 +
  
 
'''NOTE: This is a very first draft of the How-To Create BuildBot Instance'''
 
'''NOTE: This is a very first draft of the How-To Create BuildBot Instance'''
 +
  
 
----
 
----
  
0. Assign new instance id: 0 - 99
+
= Prerequisites =
 +
 
 +
First, it's very important to read the [[BuildBot Configuration]] document.
 +
 
 +
= Create BuildBot instance step-by-step =
 +
 
 +
== Login on the server ==
 +
 
 +
ssh buildbot@[[BuildBot Configuration#Server|xblade14-2]]
 +
 
 +
== Go to OSGEOBUILDHOME ==
 +
 
 +
See [[BuildBot Configuration#OSGEOBUILDHOME|OSGEOBUILDHOME]] to learn what's this location and environment variable used for.
  
1. Log into the buildbot@xblade
+
$ cd $OSGEOBUILDHOME
  
2. Go do OSGEOBUILDHOME
+
== Creating directory for project ==
  
3. Create new BuildBot instance directory for project  
+
New BuildBot instance directory for project, lowercase name:
  
mkdir <projectname>
+
$ mkdir <projectname>
  
lowercase
+
== Assign new project id ==
  
4. Create directory for buildmaster:
+
Check [[BuildBot Configuration#Buildmaster_ports|Buildmaster ports]] to learn what is this project identifier used for.
  
mkdir buildmaster
+
Project '''id''' is a solid number '''0''' to '''99''' which identifies OGeo BuildBot instance for particular project and is used to calculate new TCP port numbers.
  
5. Create directory for buildslave:
+
  $ cd ${OSGEOBUILDHOME}/<projectname>
 +
$ echo ## > ID
  
mkdir buildslave
+
where '''##''' is project solid ''id'''.
  
6. Run buildbot to create buildmaster
+
== Create directory for buildmaster ==
  
buildbot create-master ${OSGEOBUILDHOME}/<projectname>/buildmaster
+
$ mkdir buildmaster
  
7. Run buildbot to create buildslave
+
== Create directory for buildslave ==
  
buildbot create-slave ${OSGEOBUILDHOME}/<projectname>/buildslave MASTERHOST:PORT SLAVENAME PASSWORD
+
$ mkdir buildslave
 +
 
 +
== Create buildmaster ==
 +
 
 +
Run buildbot to create new buildmaster:
 +
 
 +
$ buildbot create-master ${OSGEOBUILDHOME}/<projectname>/buildmaster
 +
 
 +
== Create buildslave ==
 +
 
 +
$ buildbot create-slave ${OSGEOBUILDHOME}/<projectname>/buildslave MASTERHOST:PORT SLAVENAME PASSWORD
  
 
PORT: 15XX where XX is subsequent number of BuildBot instance (between 0-99)
 
PORT: 15XX where XX is subsequent number of BuildBot instance (between 0-99)
Line 37: Line 65:
 
PASSWORD: <new password>
 
PASSWORD: <new password>
  
8. Copy README and edit it.
+
== Configure BuildBot instance ==
  
9. Edit master.cfg (!!!!!)
+
Edit master.cfg
  
10. Try to run:
+
== Run ==
  
 
* Start
 
* Start
Line 50: Line 78:
  
 
  $OSGEOBUILDHOME/buildbot_stop.sh <projectname>
 
  $OSGEOBUILDHOME/buildbot_stop.sh <projectname>
 +
 +
== Copy and edit README ==
 +
 +
$ cp $OSGEOBUILDHOME/admin/README $OSGEOBUILDHOME/<projectname>
 +
 +
[[Category: Infrastructure]]

Latest revision as of 15:08, 15 October 2011

See Buildbot for more information.

Draft

NOTE: This is a very first draft of the How-To Create BuildBot Instance



Prerequisites

First, it's very important to read the BuildBot Configuration document.

Create BuildBot instance step-by-step

Login on the server

ssh buildbot@xblade14-2

Go to OSGEOBUILDHOME

See OSGEOBUILDHOME to learn what's this location and environment variable used for.

$ cd $OSGEOBUILDHOME

Creating directory for project

New BuildBot instance directory for project, lowercase name:

$ mkdir <projectname>

Assign new project id

Check Buildmaster ports to learn what is this project identifier used for.

Project id is a solid number 0 to 99 which identifies OGeo BuildBot instance for particular project and is used to calculate new TCP port numbers.

$ cd ${OSGEOBUILDHOME}/<projectname>
$ echo ## > ID

where ##' is project solid id.

Create directory for buildmaster

$ mkdir buildmaster

Create directory for buildslave

$ mkdir buildslave

Create buildmaster

Run buildbot to create new buildmaster:

$ buildbot create-master ${OSGEOBUILDHOME}/<projectname>/buildmaster

Create buildslave

$ buildbot create-slave ${OSGEOBUILDHOME}/<projectname>/buildslave MASTERHOST:PORT SLAVENAME PASSWORD

PORT: 15XX where XX is subsequent number of BuildBot instance (between 0-99) SLAVENAME: osgeo-<projectname> PASSWORD: <new password>

Configure BuildBot instance

Edit master.cfg

Run

  • Start
$OSGEOBUILDHOME/buildbot_start.sh <projectname>
  • Stop
$OSGEOBUILDHOME/buildbot_stop.sh <projectname>

Copy and edit README

$ cp $OSGEOBUILDHOME/admin/README $OSGEOBUILDHOME/<projectname>