Skip to content


Just like our Terraform pipeline the application pipeline will also react when a change is made to specific files and trigger on a git push. But instead of building out infrastructure in AWS it will instead compile and package up our application (the binary) and the static assets we need (HTML, CSS, JavaScript, images, etc.) into a ZIP file called

Visualised the pipeline is actually really simple:

graph LR
    a[Commit] --> b
    b[Build] --> c

So what we're doing is:

  1. Receiving a git commit event with some changes to some *.go files
  2. We then compile our application to a Linux binary
  3. We package it, and our static assets, into a ZIP file
  4. And finally we publish it to a GitLab package repository


Let's dive into the .gitlab-ci.yml file and see how we go about doing this work.