The SQS and Jenkins bits can come later...
- ubuntu trusty with docker PPA and latest docker installed
- do a 'docker pull flapjack/omnibus-ubuntu'
- bake ami
- user data with
#!/bin/bash
on first line to run the flapjack build commands iedocker run ...
- the docker run commands will include calls to the scripts that update packages.flapjack.io S3 hosted website with the newly built package
- create an autoscaling group that runs 1 ec2 instance of the docker build server and takes the details of the package to produce as parameters
- an ASG policy based on an alarm that fires when the queue has >= 1 message
- so the ASG will process jobs when there are jobs on the queue to be processed
- for bonus points, do this with CloudFormation
- create jobs on the SQS queue as required based on git commits
Awesome, that'll keep me busy for a while.