Buildbot and EC2/0.3

From CDOT Wiki
Jump to: navigation, search

Release 0.3

Buildbot and EC2 Project Page


  • Build Mozilla using an EC2 Instance
  • Complete Documentation
  • Generic EC2 instance for Buildbot Slaves
  • Startup Scripts for making your own EC2 instances



So this iteration is basically about getting this project into the “publically useable” stage. Right now, it’s fairly easy to set up these modifications to use EC2 instances in any Buildbot build project.

To use, you need to have Buildbot installed already. Then, you need to download the BOTO python library from Google, and place the boto folder from that zip file into your build-master directory. Then, you need to extract this patch into your build-master directory. Thats it for system prep.

Then, you need to go to AWS.AMAZON.COM and sign up for an account. When you do that, you will need to get your Public Key, and Secret Key to paste into your build-master’s master.cfg file.

In your build-masters master.cfg file, where you would normally specify your list of BuildSlaves, you will be replacing BuildSlave with EC2BuildSlave. This custom class is what allows Buildbot to start EC2 instances and create slaves to use on them. You need to specify a few extra variables in the slave configuration.

By default, you need to specify:

   * Bot Name
   * Bot Password
   * Public Key
   * Private Key
   * [IP Address of Build-Master:Port] [Bot Name] [Bot Password]

By supplying the build-master’s IP address to the EC2 slave, you are allowing the build-slave on the EC2 instance to be pointed at your machine. If you have a DNS, then that will work in this place as well.

There is a generic Amazon EC2 instance (also called an AMI) created that is set by default in the EC2BuildSlave class. However, if you desire, you may also insert a custom AMI instance ID to the EC2BuildSlave and have it start up your own AMI. See the custom startup script, in the 0.3 deliverable zip, to insert into your instance to have your build-slave created at run-time.


Task Details Priority Contributors Status Target Completed Link(s)
Load a script on startup in Linux Make it possible to have a script load when Linux starts High Adam Delyea Done      
Build Mozilla using an EC2 Instance Allow Buildbot to successfully build mozilla using a build slave on an EC2 instance High Adam Delyea Done      
Generic EC2 instance for Buildbot Slaves Making a generic EC2 Instance for Buildbot Medium Adam Delyea Done      
Startup Scripts for making your own EC2 instances Medium Adam Delyea Done