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
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
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)