Don't wanna be here? Send us removal request.
Text
Continuous Deployment: Implementation with Ansible and Docker
Continuous Deployment: Implementation with Ansible and Docker
This article is part of the Continuous Integration, Delivery and Deployment series.
The previous article described several ways to implement Continuous Deployment. Specifically, it described, among other things, how to implement it using Docker to deploy applications as containers and nginx for reverse proxy necessary for successful utilization of blue-green deploymenttechnique. All that was…
View On WordPress
#Ansible#BDD Assistant#confd#Continuous delivery#Continuous deployment#deployment#Docker#etcd#Ubuntu
0 notes
Text
Continuous Deployment: Implementation
This article is part of the Continuous Integration, Delivery and Deployment series.
Previous post described several Continuous Deployment strategies. In this one we will attempt to provide one possible solution for reliable, fast and automatic continuous deployment with ability to test new releases before they become available to general users. If something goes wrong we should be able to…
View On WordPress
#BDD Assistant#CD#CI#confd#Continuous delivery#Continuous deployment#Continuous integration#CoreOS#Docker#etcd#systemd
0 notes
Text
Continuous Deployment: Strategies

This article is part of the Continuous Integration, Delivery and Deployment series.
Previous article provided introduction to continuous deployment. In this one we’ll continue where we left and explore different strategies to deploy software. The article is in no way an exhaustive list of ways to deploy applications but tries to provide few common ways that are in use today. (more…)
View On WordPress
#Continuous delivery#Continuous deployment#Continuous integration#Immutable deployment#Immutable server#Microservices
0 notes
Text
Continuous Deployment: Introduction

This article is part of the Continuous Integration, Delivery and Deployment series.
Continuous deployment is the ultimate culmination of software craftsmanship. Our skills need to be on such a high level that we have a confidence to continuously and automatically deploy our software to production. It is the natural evolution of continuous integration and delivery. We usually start with continuous…
View On WordPress
0 notes
Text
Java 8 Streams: Micro Katas
Java 8 Streams: Micro Katas
A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.
This article is part of the series Java Tutorial Through Katas. (more…)
View On WordPress
0 notes
Text
Java Tutorial Through Katas: Mars Rover
Java Tutorial Through Katas: Mars Rover
A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.
This article is part of the series Java Tutorial Through Katas. (more…)
View On WordPress
0 notes
Text
JavaScript Tutorial Through Katas: Mars Rover
JavaScript Tutorial Through Katas: Mars Rover
A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.
The article assumes that the reader is familiar with the basic usage of JavaScript and Jasmine asserts and knows how to run them from his favorite Scala IDE (ours is WebStorm or IntelliJ IDEA.
Tests that prove that the solution is correct are displayed below. Recommended way to solve this…
View On WordPress
0 notes
Text
Test-Driven Development (TDD)
What is Test-Driven Development (TDD)?
Test-Driven Development is a process that relies on the repetition of very short development cycle. It is based on the test-first concept of Extreme Programming (XP) that encourages simple design with high level of confidence.
The procedure of doing TDD is following:
Write a test
Run all tests
Write the implementation code
Run all tests
Refactor
This…
View On WordPress
0 notes
Text
Scala Test-Driven Development (TDD): Unit Testing File Operations with Specs2 and Mockito
Scala Test-Driven Development (TDD): Unit Testing File Operations with Specs2 and Mockito
In this article we’ll go through the exercise of writing a method that will write string content to the specified file. There will be an option to specify whether we should overwrite an existing file. In addition, directories should be created if they do not already exist.
Programming language is Scala and testing framework that will be used is Specs2. In the spirit of unit testing, instead of…
View On WordPress
0 notes
Text
BDD Assistant: It's alive and cries for help
BDD Assistant: It’s alive and cries for help
I’ve been working with BDD for years and felt that it needed an application that would facilitate the Behaviour-driven developmentwork-flow. It would need to be made in a away that anyone can use it. By anyone I mean people with or without technical skills. Coders, testers, analysts, managers, business, etc. In that spirit, I started working on BDD Assistant. It is an open source application that…
View On WordPress
#AngularJS#BDD#Behavior-driven development#Bootstrap#Bower#CD#CircleCI#Continuous delivery#Grunt#Gulp#Heroku#Play#SBT#Scala#TDD#Test-driven development#Travis
0 notes
Text
Feature Toggles (Feature Switches or Feature Flags) vs Feature Branches
Feature Toggles (Feature Switches or Feature Flags) vs Feature Branches
Feature Branches
If you are using CVS branches, you are not doing Continuous Integration/Deployment/Delivery!
You might have great Code Coverage with unit tests, you might be doing TDD, you might have functional and integrations tests written in BDDformat and you might run all of them on every commit to the repository. However, if you are having branches, integration is delayed until they are…
View On WordPress
#CI#Continuous delivery#Continuous deployment#Continuous integration#Feature Flags#Feature Switches#Feature Toggles
0 notes
Text
REST API with JSON
REST API with JSON
What is REST API?
REST stands for Representational State Transfer. It relies on a stateless, client-server, cacheable communications. In most cases it is used with the HTTP protocol.
RESTful applications use HTTP requests to POST (create), PUT (create and/or update), GET (e.g., make queries), and DELETE data. REST uses HTTP for all four CRUD (Create/Read/Update/Delete) operations.
What is JSON?
J…
View On WordPress
0 notes
Text
Moogle Corp: Company you might be working for
Moogle Corp: Company you might be working for
Google is one of the biggest, the coolest and the most profitable companies in the world. Probably the main reason for being at the top is their ability to innovate continually. According to Gopi Kallayil there are 9 core rules that drive Google’s innovative culture:
Innovation comes from anywhere
Focus on the user
Aim to be ten times better
Bet on technical insights
Ship and iterate
Give…
View On WordPress
0 notes
Text
BDD (Behavior-Driven Development): Missing Piece in the Continuous Integration Puzzle
BDD (Behavior-Driven Development): Missing Piece in the Continuous Integration Puzzle
Behavior-Driven Development (BDD) is a process or it can be a tool. In many cases, BDD is both. However, it should not be a goal in itself. The goal of software development is to deliver quality as fast and as cheap as possible. The only real measure of quality is whether it fulfills user needs in a reliable manner. The best way we can take to accomplish that goal is through continuous…
View On WordPress
#BDD#Behavior-driven development#CD#CI#Continuous delivery#Continuous deployment#Continuous integration
0 notes
Text
Server vs client side rendering (AngularJS vs server side MVC)
Server vs client side rendering (AngularJS vs server side MVC)
There’s a lot of discussion related to server vs client side application rendering. While there is no “one choice fits all” solution, I’ll try to argue in favor of client side (specifically AngularJS) from different points of view. First of them is architecture.
Architecture
Well done architecture has clearly defined separation of concerns (SoS). In most cases minimal high level configuration is:
View On WordPress
0 notes
Text
Build Tools
In the beginning there was Make as the only build tool available. Later on it was improved with GNU Make. However, since then our needs increased and, as a result, build tools evolved.
JVM ecosystem is dominated with three build tools:
Apache Ant with Ivy
Maven
Gradle
Ant with Ivy
Ant was the first among “modern” build tools. In many aspects it is similar to Make. It was released in 2000 and in a…
View On WordPress
0 notes
Text
Continuous Delivery: Unit Tests
Continuous Delivery: Unit Tests
In the previous article we explored static analysis as one of the first steps in Continuous Delivery. Our journey will continue with unit tests.
Unit Tests
Unit tests are probably the most important part of Continuous Delivery. While unit tests cannot substitute integration and functional tests, they are very easy to write and should be very fast to execute. As any other type of tests, each unit…
View On WordPress
#CD#CI#Circle#Continuous delivery#Continuous deployment#Continuous integration#Gradle#jenkins#TDD#Test-driven development#Travis#Unit Test
0 notes