In this hello-world style blog post, we will learn how to create load balanced Docker services in an open source DC/OS & Mesos environment. For that, we will perform Mesos and Marathon REST API calls using simple cURL commands. First, we will…
Testing the Hetzner Cloud API via cURL — IaaS Automation
In this blog post, we will be testing the Hetzner Cloud API. As a "Hello World" example, we will learn how to add an API key to a project and use the API key to do the following: add an…
Jenkins Part 7: Pipeline as Code
In this blog post, we will introduce the Jenkins Pipelines, an increasingly popular plugin that helps defining versatile Jenkins workflows as Groovy code. Traditionally, Jenkins is administered by a graphical Web interface. Now, the Pipeline plugin allows teams and DevOps…
Getting Started with DC/OS on Vagrant
In the course of this Hello World style tutorial, we will explore DC/OS, a Data Center Operating System developed and open sourced by Mesosphere with the target to hide the complexity of data centers. We will install DC/OS on your local PC or Notebook…
Jenkins (6): BrowserStack Integration – Automated Cross Browser Testing
With the BrowserStack cloud-based solution, there is no need to buy many different hardware types for testing your website for many different mobile devices and operating systems. In this blog post about Jenkins BrowserStack Integration, we will learn how to integrate BrowserStack-based automated…
Testing any Browser on any Hardware using BrowserStack – A Protractor Cross Browser Testing Example
This time we will learn how to test any web site (including your front end software) using many different Internet browsers by integrating a cloud-based cross browser test solution named BrowserStack. We will perform Protractor tests for AngularJS using the…
Jenkins Part 5.1: Using the Job DSL for automatic Creation of Jenkins Jobs
Today, we will learn how to use the Jenkins Job DSL Plugin to create new Jenkins jobs at a push of a button. We will show how we can use Groovy scripts for defining a "Hello World" Jenkins freestyle project and…
Jenkins Part 4.3: Performance Tests via JMeter
Today, we will learn how to automatically create performance trend analysis reports like the following using Jenkins and JMeter: First, we will use Apache JMeter's graphical user interface on the developer's PC to create a test plan, before we integrate JMeter…
Jenkins Part 4.2: Code Quality Tests via Checkstyle
Today, we will show how to use Checkstyle for improving the style of Java code. First, we will add Checkstyle to Gradle in order to create XML reports for a single build. Jenkins allows us to visualize the results of more…
Jenkins Part 4.1: Functional Java Tests via JUnit
You also think that functional tests are one of the most important ingredients for delivering high quality software? You share my opinion that we should help the developer automating this task in order to get comparable results and to receive meaningful trend reports? I…
Jenkins Part 3.1: periodic vs triggered Builds
Today, we will make sure that Jenkins will detect a code change in the software repository without manual intervention. We will show two methods to do so: Periodic Builds via Schedulers: Jenkins periodically asks the software repository for any code changes…
Jenkins Part 2: automated Code Download and Build (Gradle + Maven)
NEW (2017-01-02): you now can immediately start with part 2 (this post) without going through the steps of part 1. A corresponding pre-installed Docker image is provided. NEW (2017-01-05): I have added the Maven build path with a fat executable…
Jenkins Part 1: Installation the Docker Way
In this blog post, we will deploy and get started with Jenkins, the most popular open source tool for Continuous Integration and Continuous Deployment. As a modern way of installing, we install a Docker host and deploy a Jenkins Docker…
AWS Automation Part 4: Using Terraform for AWS Automation
This is part 4 of a blog post series, in which we explore how to automate Amazon Web Services (AWS) using the Terraform open source software by HashiCorp. Similar to Cloudify, Terraform is a versatile way to codify any type of infrastructure and…
Getting started with OpenShift Container Platform
In this blog post we will review the architecture of OpenShift before we will gain some hands-on experience with OpenShift Origin, which is the free version of the OpenShift Container Platform a.k.a. OpenShift Enterprise. Vagrant software will help us to automate the installation…
Ansible Tower – a Hello World Example
This is part IV of a little "Hello World" example for Ansible, an IT automation (DevOps) tool. This time, we will get acquainted with Ansible Tower, a web front end for Ansible. The post has following content: Quickest way of "installing" an Ansible Tower…
AWS Automation based on Vagrant — Part 3: Creating a Docker Host on AWS in 10 Minutes using Vagrant
Learn how Vagrant can be used to perform more sophisticated provisioning tasks than creation and termination of virtual machines. From our local Vagrant console, we will install Docker host Software and we will verify the results by downloading and testing the Python Docker image.
AWS Automation based on Vagrant — Part 1: Getting started with AWS
In this blog post series we will explore, how to automate Amazon Web Services (AWS) by using Vagrant. The series is divided into three parts. Readers that are interested in the automation part only can skip part 1 (the AWS…
AWS Automation based on Vagrant — Part 2: Installation and Usage of the Vagrant AWS Plugin
Learn how to get started with Amazon Web Services EC2 and how to automate simple task like creation and termination of virtual machine instances using Vagrant. This is a first step towards more sophisticated automation tasks like SW installation and shell script execution.
Automating Network Provisioning with Cisco APIC — Exploring the REST API
How to automate the configuration of network devices? Cisco APIC-EM (= Application Policy Infrastructure Controller) is a controller that can help us with that task. In this blog post, we will explore its modern REST API for accomplishing basic tasks like creating, reading, updating and deleting (CRUD)…