Image for post
Image for post

GitLab Review Apps are a convenient way of managing dynamic environments for the purpose of reviewing changes before merging into your main branch. GitLab has great Kubernetes support and can easily deploy to your clusters, but if your application is not nicely containerized or your team is not ready to take on Kubernetes, what do you do? You Terraform!


Terraform is an excellent cloud-agnostic tool for developing your infrastructure as code. By combining a couple features of Terraform, we can pretty easily build a system for deploying Review Apps.

1. Workspaces

Workspaces provide a way of provisioning and managing multiple sets of identical infrastructure without copying Terraform configuration files. If you are familiar with Terraform and its .tfstate files, you can think of Workspaces as creating and managing new arbitrarily named .tfstate

Image for post
Image for post

Git’s rebase command is a common source of fear and confusion for Git users, especially those whom may have come from a more centralized version control system. That’s normal. Rebase is a weird, magical looking beast that just comes in and starts changing history willy-nilly.

Rebase is sort of like pointers; it is this confusing construct that everybody talks about but you have no idea why anybody would use it and then suddenly everything will click and the whole idea becomes glaringly obvious and incredibly simple.

I am here to force that click onto you so you can go into work and spread the wonder that is git rebase. …

Image for post
Image for post

Before Continuous Delivery and containers and the idea of immutable environments, people updated environments manually with the latest code at release time. It is a very common place to be and I would bet that most software shops are still working this way.

A very easy step towards Continuous Delivery from this state is to automate the manual step in that process. That is, automate updating environments with the latest and greatest code.

This is very easily achieved by combining a couple very useful tools: AWS CodeDeploy and Bitbucket Pipelines.


There are some requirements that need to be satisfied before this deployment pipeline can be operational. We will walk through these steps together. …


Jared Ready

Software Engineer | AWS | DevOps

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store