• Using AWS ECR as a Docker registry

    Dec 30, 2017

    In this post, I’ll modify the pipeline from the previous posts to use a Docker registry powered by AWS ECR (Amazon Elastic Container Registry).

  • Adding code coverage with nyc

    Dec 29, 2017

    In this post, I’ll add code coverage to the build pipeline and configure TeamCity to break the build if the code coverage drops.

  • Adding mocha unit tests

    Dec 29, 2017

    In this post, I’ll add unit tests to the example application that I’ve been fiddling around with in the recent posts.

  • Adding WebdriverIO tests

    Dec 29, 2017

    In this post, I’ll add some automated browser tests using PhantomJS and WebdriverIO.

  • Waiting for the correct version after deployment

    Dec 29, 2017

    In this post, I’ll implement a post deployment check that waits until the application is running with the expected version. The first step is to make the application aware of its version. The easiest way to do that in our setup is with an environment variable. We’ll modify the deployment template of the Helm chart:

  • Removing the image-tag.txt artifact

    Dec 29, 2017
    Small update on replacing the image-tag.txt artifact with the implicit build.number parameter.
  • Host DNS in Docker Toolbox

    Dec 29, 2017
    How to configure Docker Toolbox so that it uses your laptop's hosts file.
  • Smoke test for a Docker image

    Dec 28, 2017

    According to Wikipedia, a smoke test is a preliminary test that reveals simple failures severe enough to (for example) reject a prospective software release. The process of smoke testing aims to determine whether the application is so badly broken as to make further immediate testing unnecessary. If we consider our dockerized blog-helm web application, a possible smoke test can be: can we pull the image from the registry? If we run the image, does the container stay alive or does it crash immediately? In this post, I’ll implement this in an extra build configuration in TeamCity with a generic bash script doing the actual work.

  • Build chains in TeamCity

    Dec 27, 2017

    In a previous post, I had configured a deployment build configuration in TeamCity. I had mentioned back then that it’s possible to set it up in a different way, which makes it is easier to visualize the deployment pipeline across all environments. In this post, I’ll modify that deployment pipeline to use snapshot dependencies and project templates.

  • My local TeamCity setup

    Dec 26, 2017

    In my recent blog posts I’ve played a lot with TeamCity. Often, when I want to blog about something, I end up doing some irrelevant yak shaving, which sometimes is also interesting. In this post I’ll show how I’m currently setting up TeamCity locally on my laptop.