• Deployment Debt - Make Continuous Delivery visible

    You probably have heard about technical debt but maybe never about “Deployment Debt”. What is it and why should you be interested? What is Deployment Debt? A debt is normally considered as something negative. Let’s imagine the bank gives you some money. At some point they want it back again...


  • 3, 2, 1, 0 - How many integration environments do you need?

    How many integration environments do you have? What’s the purpose of them? Do you really need them? Do they enable you to deliver your applications continuously? The Pains A couple of years ago, I was used to have 4 environments where my application had to be deployed. Over the years...


  • How to run HuBot in Docker on AWS EC2 Container Services - Part 4

    You might say that I showed already in the first three parts (see here, here and here) how to run HuBot on AWS EC2 Container Services (ECS). That’s true but since AWS CloudFormation also supports ECS I wanted to deploy HuBot as a CloudFormation stack. If you feel confused with...


  • How to run HuBot in Docker on AWS EC2 Container Services - Part 3

    In part 1 I explained how to run HuBot inside a Docker container. Part 2 was about setting up a continuous deployment pipeline. This part shows you how you could handle your secrets like API Keys, usernames and passwords. Hide your secrets HuBot uses environment variables to configure scripts. For...


  • AWS Ruby SDK and my confusion with portMappings

    When you use the AWS Ruby SDK to register your ECS task definition files you maybe struggle with the same error I struggled around. ArgumentError: unexpected value at params[:container_definitions][0]["portMappings"] The same error message was also returned when I tried to define mountPoints. The short answer is that the AWS Ruby...