Spring Cloud Pipelines

发布 | Marcin Grzejszczak | 2016年10月18日 | ...

我荣幸地代表Spring Cloud团队宣布一个名为Spring Cloud Pipelines的新项目。与大多数Spring项目不同,该项目并非在任何代码库中可用,因为它不是一个库,而是一个github仓库,您可以下载它并将其用作创建部署管道的模板。

事不宜迟,让我们深入了解一下该项目的一些细节。

我们试图解决的问题

Spring、Spring Boot和Spring Cloud是允许开发人员加快创建新业务功能速度的工具。然而,众所周知,只有在生产环境中,功能才是有价值的。这就是为什么公司花费大量时间和资源来构建自己的部署管道。

该项目试图解决以下问题:

  • 创建通用的部署管道

  • 传播良好的测试和部署实践

  • 加快将功能部署到生产环境所需的时间

一种通用的运行、配置和部署应用程序的方式降低了支持成本,并减少了新开发人员在更改项目时融入团队所需的时间。

目前,我们开箱即用地支持以下CI/CD系统:

  • Concourse

  • Jenkins

高级概述

在演示中,我们使用了以下项目:

  • Artifactory 用于存储jar包

  • PCF Dev 用于部署应用程序

  • Concourse 或 Jenkins 用于托管管道

  • Spring Cloud Pipelines 包含管道逻辑

  • Spring Cloud Contract 用于辅助应用程序测试

当然,您可以使用您自己的jar包收集服务、Cloud Foundry和Concourse/Jenkins。出于演示目的,我们为您提供这些服务。

生成的管道看起来或多或少是这样的(您可以在文档中阅读更多关于此流程背后的基本原理

flow concourse

图1. Concourse中的流程

flow

图2. Jenkins中的流程

如何使用它?

此仓库可以作为您管道的模板。我们提供了一些您可以根据需要修改的有见地的实现。使用它来构建您的生产项目最好的方法是将Spring Cloud Pipelines仓库下载为ZIP文件,然后在那里初始化一个Git项目并根据您的需要进行修改。

使用`master`分支代码的示例。

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

为什么您不直接克隆仓库?这是为了为构建新的、版本化的管道提供一个种子。您不希望将我们所有的历史记录都拖到您的项目中,不是吗?

获取Spring通讯

与Spring通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以快速提升您的进步。

了解更多

获得支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部