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 社区所有即将举行的活动。

查看所有