This project provides an example setup that shows features of Sshoogr (https://github.com/aestasit/sshoogr), Gramazon (https://github.com/aestasit/gramazon) and PuppetUnit (https://github.com/aestasit/puppet-unit). Those tools were presented during "Groovy DevOps in the Cloud" talk at Java Day Riga, 2013 by Luciano Fiandesio and Andrey Adamovich.
This setup provides a Gradle script (build.gradle
) that glues together all bits and pieces:
startInstance
task starts new machine in EC2uploadModules
task uploads Puppet modules to the newly created machinetest
task runs JUnit integration tests against the newly created machineterminateInstance
task terminates the machine
Before you can take advantage of this setup, you will need to at least:
- Create AWS account
- Create access and secret keys to call EC2 API
- Set access and secret keys inside
gradle.properties
- Create new key pair called
cloud-do
ineu-west-1
region (or change the name of the key or the region in thebuild.gradle
file to match any of the existing keys) - Save newly generated private key in the root directory of the project as
cloud-do.pem
(or changebuild.gradle
to match your file name or region) - Create new security group
cloud-do
(or change the name of the security group in thebuild.gradle
file to match any of the existing security groups) - Allow inbound connecitons on port
22
for the configured security group - Change the AMI identifier inside the
build.gradle
to match your OS image which has Puppet already installed
More details are also available in the presentation slides: https://github.com/aestasit/talks2013-javaday-groovy-devops-slides.