This repository contains:
Scripts to build immutable servers with Packer & Vagrant & Chef
Targets:
Scripts to deploy infrastructure with Terraform
Before start you have to install required gems, packages, plugins and cookbooks:
./gradlew prerequisitesInstall
When necessary you can check locked versions for updates with:
./gradlew prerequisitesOutdated
and update them with:
./gradlew prerequisitesUpdate
NOTE: Update of gems with exact version constraint (e.g. Chef) is not supported now (see #67). When you change their versions you have to update them manually with:
bundle update chef
Clean and build kernel VirtualBox images
./gradlew clean-kernel-*-vbox
./gradlew build-kernel-*-vbox
There is a separate task for each image
Deploy common Terraform resources, build base VirtualBox images & Vagrant boxes
./gradlew build-base
Test build toolkit used for Jenkins slaves:
./gradlew kitchenTest-BuildToolkit
Build Jenkins slave AMIs:
./gradlew build-JenkinsSlaves
Test Jenkins Master:
./gradlew kitchenTest-JenkinsMaster-vbox
./gradlew kitchenTest-JenkinsMaster-amazon
Build JenkinsMaster production AMI:
./gradlew build-JenkinsMaster
Deploy instances:
./gradlew deploy
Check code before pushing:
gradlew --continue check
Berksfile
sVagrantfile
to enable vagrant-cachier
Copyright © 2015-2017 Basil Peace
This is part of FIDATA Infrastructure.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.