🔥Intro to TravisCI With Terraform

This blog series focuses on presenting complex DevOps projects as simple and approachable via plain language and lots of pictures.

Kyler Middleton
The Startup
Published in
9 min readJan 14, 2020


TravisCI is a CI/CD automation platform with a huge install base. Or rather, lots of companies use the entirely SaaS solution to deploy their infrastructure, including ZenDesk, Heroku, Moz, and BitTorrent, among many others.

It has a simple interface that’s easy to build, manage, and integrate with GitHub. As with most other CI/CDs, pipelines can be configured in YML and have deeply complex logic. Where TravisCI really shines is running parallel testing on many different platforms, or with different customization options. This would be excellent for developing software for multiple platforms, or that needed to be built with many different permutations.

My focus (as in my other blogs) is to build a valid and useful terraform pipeline. My goal here today is to:

  • On a pull request: Validate code and run a terraform plan. Report back status to GitHub.
  • On a merge to master: Execute terraform code and deploy resources.

Enough talk, let’s get started.

Create own GitHub Repo

If you haven’t yet replicated the GitHub repo to your own repo in your own account, you need to do so — you’ll need your own GitHub repo to build integrations into TravisCI and have it tested and execute our code.

In the top right of GitHub, click on the + sign and then on Import Repo.

Enter the existing repo I’ve built with both Terraform and .travis.yml pipeline code, https://github.com/KyMidd/TravisCI-TerraformDemo. Name your repo anything you’d like and click Begin Import.

Now you have your very own GitHub repo where we can start working.

Bootstrap to AWS



Kyler Middleton
The Startup

DevNetSecOps, DevRel, cloud security chick. I will teach you, it’s unavoidable. She/Her 🏳️‍🌈🏳️‍🌈, INFJ-A, support the EFF!