DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. Spring Cloud Pipelines

Spring Cloud Pipelines

Spring Cloud Pipelines let devops teams a pipeline to move data through various continuous deployment cycles and clouds.

Marcin Grzejszczak user avatar by
Marcin Grzejszczak
·
Oct. 23, 16 · Tutorial
Like (6)
Save
Tweet
Share
4.53K Views

Join the DZone community and get the full member experience.

Join For Free

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

High-Level Overview

In the demo, we’re using the following projects:

  • Artifactory to store JARs.
  • PCF Dev to deploy applications.
  • Concourse or Jenkins to host pipelines.
  • Spring Cloud Pipelines that contains the pipeline logic.
  • Spring Cloud Contract to aid testing of your applications.

Of course, you can use your own JAR-gathering service, like Cloud Foundry and Concourse/Jenkins. We’re providing them for you for the demo purposes.

flow concourse

Figure 1. Flow in Concourse (Click to Enlarge)

flow

Figure 2. Flow in Jenkins

How to Use It?

This repository can be treated as a template for your pipeline. We provide some opinionated implementation that you can alter to suit your needs. The best approach to use it to build your production projects would be to download the Spring Cloud Pipelines repository as ZIP, then init a Git project there and modify it as you wish.

Example for using the code from the master branch.

curl -LOk https://github.com/spring-cloud/spring-cloud-pipelines/archive/master.zip
unzip master.zip
cd spring-cloud-pipelines-master
git init
# do all the changes
git add .
git commit -m "Initial commit"
git remote add origin ${YOUR_REPOSITORY_URL}
git push origin master


Why aren’t you simply cloning the repo? This is meant to be a seed for building new, versioned pipelines for you. You don’t want to have all of our history dragged along with you, don’t you?

Spring Cloud Spring Framework Pipeline (software)

Published at DZone with permission of Marcin Grzejszczak, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • ChatGPT: The Unexpected API Test Automation Help
  • Stream Processing vs. Batch Processing: What to Know
  • Top 5 Java REST API Frameworks
  • An Introduction to Data Mesh

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: