CloudBuild

Introduction

This page explains how to create an Ubuntu Localized ISO using the Amazon Cloud. Since Amazon provides free resources for new subscribers, and cheap prices for on demand instances, it can be a good solution for LoCo Teams. If you know another good cloud solution for building Ubuntu CD, just let PaoloSammicheli know, we'll create a script also for it Smile :)

Cloud resources

We used the cloud instances EC2 for the building, and a S3 bucket for the final image hosting. The Free usage tier include both these services.

  • WARNING: Intense I/O activity may go over the free tier. In my experience it will not cost more than few dollars per month. Anyway if you are concerned about fees check the Amazon documentation for estimate charge and enable an alarm threshold.

The Script

The script is designed to be deployed in a newly created cloud image (based on Ubuntu 12.04, both i386 or amd64). It creates the directory structure keeping separate the building directory from the final directory. In this way, building always from the same dir it will save time reusing the already downloaded ubuntu packages. At the end of the process it creates a zsync file and a md5 checksum and it uploads it in the s3 bucket. Since it uses the directory format YYYYMMDD, it is easily linkable from the Localized Iso Tracker for crowdsourcing the tests.

Source Code

  • Source code available with Bazaar

Instructions

  • Create a S3 Bucket

  • Create a EC2 cloud instance with Ubuntu 12.04 i386 or amd64

  • Log in the image, create a /bin directory in /home/ubuntu directory
    • [optional] run byobu and make it default every login

  • Copy the script inside /home/ubuntu/bin

  • Creating a .s3cfg file in /home/ubuntu with the credentials for your bucket

  • Configure the script with desired release, architecture, language and S3 infos.

  • Run it:

$ LoCo-CD-build YYYYMMDD
  • if you run it without parameters it will get the current day. Ex: 20120730
  • At the end it will upload the iso, md5 and zsync files in a /YYYYMMDD directory in the specified bucket
    • Now you can shutdown your cloud instance Wink ;)

Features

  • Install requested packages
  • Create ISO, md5 and zsync files and upload it in a S3 bucket
  • Workaround for bug #998351

  • Workaround for bug #1029279

ItalianCD/CloudBuild (last edited 2012-07-30 17:30:16 by 78)