Spring 云管道
该项目已弃用。它已迁移到:Cloud Pipelines。您可以在此处了解更多信息。
Spring,Spring Boot和Spring Cloud是允许开发人员加快创建新业务功能的时间的工具。但是众所周知,该功能只有在投入生产时才有价值。这就是公司花大量时间和资源来构建自己的部署管道的原因。
该项目试图解决以下问题:
-
创建通用部署管道
-
传播良好的测试和部署实践
-
加快将功能部署到生产所需的时间
运行,配置和部署应用程序的常用方法降低了新开发人员在更改项目时融入其中所需的支持成本和时间。
当前,我们开箱即用地支持以下CI / CD系统
-
大堂
-
詹金斯
Spring Boot配置
该项目已弃用。它已迁移到:Cloud Pipelines。您可以在此处了解更多信息。
运行Cloud Foundry的演示
您可以通过运行默认的演示设置轻松启动,以使用Docker / PCF Dev或Minikube在本地运行整个系统。
我们提供了一个将构建和部署的演示管道-Github Webhook应用程序。
总而言之,以下项目参与其中microservice setup
。
-
Github Analytics-具有REST端点并使用消息传递的应用程序。我们的业务应用程序。
-
Github Webhook-发出Github Analytics使用的消息的项目。我们的业务应用程序。
-
尤里卡-简单的尤里卡服务器。这是一个基础结构应用程序。
-
Github Analytics Stub Runner引导程序-用于与Github Analytics进行测试的Stub Runner Boot服务器。使用Eureka和消息传递。这是一个基础结构应用程序。
有关详细信息,请查看文档。
大堂
-
分叉Github Webhook和https://github.com/spring-cloud-samples/github-analytics [Github Analytics]存储库
-
启动PCF开发人员
-
克隆
spring-cloud-pipelines
项目 -
转到
concourse
文件夹 -
运行
./setup-docker-compose.sh
以设置Concourse的键 -
运行
./start.sh 192.168.99.100
以启动Concourse和Artifactory(例如,192.168.99.100
作为docker映像的外部IP。如果您没有Docker Machine,则可以运行./what_my_ip.sh
脚本并在此处传递该值) -
运行
./deploy_infra.sh
以将基础设施应用程序(eureka
和stub runner
)上传到您的Artifactory -
运行
./login.sh 192.168.99.100
以登录到您的Concourse(192.168.99.100
Docker Machine ip在哪里-如果您正在使用localhost
,则不必提供该值) -
设置你的
credentials.yml
基础上所提供的credentials-sample-cf.yml
(指向你的分叉[Github的网络挂接(https://github.com/spring-cloud-samples/github-webhook) ) -
运行
./set-pipeline.sh
以设置管道github-webhook
-
取消暂停并在Concourse中运行管道!
-
管道通过后,您可以为
github-analytics
有关Kubernetes逐步指南的信息,请查阅文档。
詹金斯
-
启动PCF开发人员
-
克隆
spring-cloud-pipelines
项目 -
转到
jenkins
文件夹 -
运行
./start.sh yourGithubUser yourGithubPass yourGithubOrg
启动詹金斯和Artifactory的(yourGithubUser
并且yourGithubPass
是由管道来标记分叉回购,在规定需要您Github的凭据yourGithubOrg
;你也可以通过-key path_to_private_key
,如果你喜欢使用基于密钥的身份验证与Git仓库的位置) -
运行
./deploy_infra.sh
以将基础设施应用程序(eureka
和stub runner
)上传到您的Artifactory -
转到Jenkins并单击
jenkins-pipeline-seed
以生成管道作业 -
转到
github-webhook
管道视图,然后单击play
按钮以运行管道
对于Kubernetes逐步指南,只需查看文档即可
根据您的需求调整管道
该存储库可被视为管道的模板。我们提供了一些自以为是的实现,您可以根据自己的需要进行更改。使用它构建生产项目的最佳方法是将Spring Cloud Pipelines存储库下载为ZIP,然后在此处初始化一个Git项目并根据需要对其进行修改。
使用master
分支代码的示例。您可以使用例如标签1.0.0.M8
。然后您的URL将如下所示
https://github.com/spring-cloud/spring-cloud-pipelines/archive/1.0.0.M8.zip
。
$ curl -LOk https://github.com/spring-cloud/spring-cloud-pipelines/archive/master.zip
$ unzip master.zip
$ cd spring-cloud-pipelines-master
$ git init
$ ./gradlew customize
$ # modify the pipelines to suit your needs
$ git add .
$ git commit -m "Initial commit"
$ git remote add origin ${YOUR_REPOSITORY_URL}
$ git push origin master
您也可以克隆存储库,以防与上游存储库中的更改保持一致。为了避免发生许多合并冲突,建议使用自定义文件夹钩子覆盖函数。
快速启动您的项目
可以尝试一些示例:
- Github Analytics 该应用程序具有REST端点并使用消息传递。我们的业务应用程序。
- Github Webhook 项目,该项目发出Github Analytics使用的消息。我们的业务应用程序。
- Github Analytics Kubernetes 具有REST端点并使用消息传递的应用程序。我们的业务应用程序。
- Github Webhook Kubernetes 项目,该项目发出Github Analytics使用的消息。我们的业务应用程序。
- Eureka 简单的Eureka服务器。这是一个基础结构应用程序。
- Github Analytics Stub Runner启动 Stub Runner Boot服务器,用于模拟Github Analytics依赖项
- DDD通过示例-工厂 整体应用程序通过Spring Cloud Pipelines部署到生产中