领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我很高兴代表 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。我们为演示目的提供了它们。
生成的管道大致如下所示(您可以在文档中阅读有关此流程背后原理的更多信息)

图 1. Concourse 中的流程

图 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
为什么不直接克隆这个仓库?这是为了让你建立新的、版本化的管道。你不想把我们所有的历史记录都带走,不是吗?