Spring Team
Marcin Grzejszczak

Marcin Grzejszczak

Warsaw, Poland

Author of "Mockito Instant" and "Mockito Cookbook" books. Contributor to several open source projects (including Rest-assured, Drools, Moco, Mockito). Co-author of the Groovy @Builder, "micro-infra-spring", "AccuREST" open source solutions. Author of Uptodate Gradle plugin, Spock subjects-collaborators extension and gradle-test-profiler open source projects. Co-founder of the Warsaw Groovy User Group. Currently working on the Spring Cloud project.
Blog Posts by Marcin Grzejszczak

Spring Cloud Pipelines 1.0.0.M2 Released

On behalf of the Spring Cloud team it is my pleasure to announce a new milestone release of Spring Cloud Pipelines - 1.0.0.M2. Apart from some bug fixes it’s providing an out of the box support for Gradle projects.

In order for the Gradle project to work out of the box the following opinionated decisions were taken:

  • usage of Gradlew Wrapper

  • custom deploy task is used for artifacts deployment

  • running smoke tests on a deployed app via the custom smoke task

  • running end to end tests on a deployed app via the custom e2e task

  • custom groupId task to retrieve group id

  • custom artifactId task to retrieve artifact id

  • custom currentVersion task to retrieve the current version

  • custom stubIds task to retrieve list of collaborators for which stubs should be downloaded

Read more...

Spring Cloud Camden SR1 is available

On behalf of the team, I am happy to announce the new service release of the Spring Cloud Camden Release Train. Camden.SR1 can be found in our Spring Release repository or in Maven Central. You can check out the Camden release notes for more information.

Highlights of the Camden SR1 Release Train

The following modules form Camden.SR1:

Module Version
Spring Cloud AWS 1.1.3.RELEASE
Spring Cloud Bus 1.2.1.RELEASE
Spring Cloud Commons 1.1.4.RELEASE
Spring Cloud Contract 1.0.1.RELEASE
Spring Cloud Config 1.2.1.RELEASE
Spring Cloud Netflix 1.2.1.RELEASE
Spring Cloud Security 1.1.3.RELEASE
Spring Cloud Sleuth 1.0.10.RELEASE
Spring Cloud Stream Brooklyn.RELEASE
Spring Cloud Task 1.0.3.RELEASE
Spring Cloud Zookeeper 1.0.3.RELEASE
Read more...

Spring Cloud Pipelines

On behalf of the Spring Cloud team it is my pleasure to announce a new project called Spring Cloud Pipelines. Unlike most of Spring projects this one is not available at any repository since it’s not a library, but instead it is available as a github repo for you to download and use as template for creating a deployment pipeline.

Without any further ado let’s get into some details related to the project.

Problem we’re trying to solve

Spring, Spring Boot and Spring Cloud are tools that allow developers speed up the time of creating new business features. It’s common knowledge however that the feature is only valuable if it’s in production. That’s why companies spend a lot of time and resources on building their own deployment pipelines.

This project tries to solve the following problems:

  • Creation of a common deployment pipeline

  • Propagation of good testing & deployment practices

  • Speed up the time required to deploy a feature to production

A common way of running, configuring and deploying applications lowers support costs and time needed by new developers to blend in when they change projects.

Currently we support the following CI / CD systems out of the box

  • Concourse

  • Jenkins

Read more...

Spring Cloud Contract 1.0.0.RELEASE is available

On behalf of the team, I am happy to announce the general availability of the Spring Cloud Contract in version 1.0.0.RELEASE. You can download it from Spring Release or Maven Central. The reference documentation is available here. The release notes are available here.

What is Spring Cloud Contract for? What you always need is confidence in pushing new features into a new application or service in a distributed system. Spring Cloud Contract project provides support for Consumer Driven Contracts and service schemas in Spring applications, covering a range of options for writing tests, publishing them as assets, asserting that a contract is kept by producers and consumers, for HTTP and message-based interactions.

Read more...

Spring Cloud Camden M1 is available

On behalf of the team, I am pleased to announce that Milestone 1 of the Spring Cloud Camden Release Train is available today. The release can be found in our Spring Milestone repository. We’ve made numerous enhancements and bug fixes! You can check out the Camden.M1 release notes for more information.

The following modules were updated as part of Camden.M1:

Spring Cloud Build        1.2.0.RELEASE
Spring Cloud Stream       Brooklyn.M1
Spring Cloud Bus          1.2.0.M1
Spring Cloud Config       1.2.0.M1
Spring Cloud Netflix      1.2.0.M1
Spring Cloud Consul       1.1.0.M1
Spring Cloud Contract     1.0.0.M2
Spring Cloud CLI          1.2.0.M1
Read more...

Spring Cloud Contract 1.0.0.M1 Released

On behalf of the Spring Cloud team it is my pleasure to announce the 1.0.0.M1 release of the new Spring Cloud project called Spring Cloud Contract. You can grab it from the Spring’s milestone repository or even better - go to start.spring.io and pick it from there.

Spring Cloud Contract

The microservice approach has plenty of benefits but also introduces complexity. This is an inevitable result of working with distributed systems: with increasing complexity inevitably more questions are posed. In this article we show how to test microservices and create a better API by using the Consumer Driven Contracts approach. In order to make testing microservices easier we are more than happy to introduce a new project in the family of Spring Cloud projects - Spring Cloud Contract. This project provides support for Consumer Driven Contracts and service schemas in Spring applications, covering a range of options for writing tests, publishing them as assets, asserting that a contract is kept by producers and consumers, for HTTP and message-based interactions.

This article is a companion of another recent one on how to do zero-downtime deployment with a database.

Read more...

Zero Downtime Deployment with a Database

This article will explain in depth how to tackle issues related to database compatibility and the deployment process. We will present what can happen with your production applications if you try to perform such a deployment unprepared. We will then walk through the steps in the lifecycle of an application that are necessary to have zero downtime. The result of our operations will be applying a backward incompatible database change in a backward compatible way.

If you want to work through the code samples below, you will find everything you need in GitHub.

Read more...

Testing Spring Cloud Projects

Welcome to my first blog post as a Spring Cloud team member :)

It’s been a month since I joined and it’s worth to share some of the interesting things that took place during that time.

If you’ve been reading any of my posts at my Too Much Coding blog then you know that I’m crazy about two things - testing and microservices. Since all that I do at the moment is microservice related today’s post will be about testing.

The Spring Cloud projects

When I joined Spring Cloud team I did a quick scan of the Github and it turned out that we have quite a few projects to govern including:

Read more...