/altitude-nyc-abcd-workshop

Practical exercises for "ABCD: Always be continuously deploying" workshop at Altitude NYC 2017

Primary LanguageHCLMIT LicenseMIT

ABCD: Always be continuously deploying

This repository contains the files and excercises needed to participate in the Fastly Altitude NYC 2017 workshop "Always be continuously deploying".

Welcome! The goal of the workshop is to build a continuous deployment pipeline around an example Fastly config. Combining Fastly’s 5-second deploys, API control, and some open-source tooling (Travis, Terraform) attendees will contribute live changes and see their results in the demo.

Prerequisites

  • Have a GitHub account
  • Have a machine with a terminal prompt, Make and Ruby installed

Install:

Altitude attendees will be provided with a pre-provisioned server with all software and files needed already installed for you convienince. The conncetion details will be handed out to you.

  • Create a new GitHub repository, called abcd-workshop.
  • ssh -A fastly@<IP of host assigned to you>
  • cd workshop
  • git remote add origin git@github.com:<USERNAME>/abcd-workshop.git

Alternatively if you aretrying this at home:

  • Fork the GitHub repo: https://github.com/fastly/altitude-nyc-abcd-workshop
  • Clone the repo to a local directory on your machine:
    • Via SSH: git clone git@github.com:<USERNAME>/altitude-nyc-abcd-workshop.git
    • Via HTTP: git clone https://github.com/<USERNAME>/altitude-nyc-abcd-workshop.git
  • Change directory into the repo: cd altitude-nyc-abcd-workshop
  • Install the dependencies make install
    • This will install the Terraform binary to your $HOME directory and link your $PATH. Permission may be required.
    • If you already have Terraform and the Travis gem installed on your machine or would prefer to install manually, skip this step.
  • You're good to go!

Exercises:

To start, follow the tasks in the exercises directory:

  1. Define a Fastly service with Terraform
  2. Configure continuous deployment with Travis
  3. Setup multiple environments: staging & production