Spring系列学习之Spring Cloud Pipelines微服务管道
英文原文:https://spring.io/projects/spring-cloud-pipelines
目录
概述
特性
Spring Boot配置
运行Cloud Foundry的演示
Concourse
Jenkins
根据您的需求调整管道
快速开始
学习
文档
示例
概述
重要:该项目已弃用。它被迁移到:Cloud Pipelines。你可以在这里读更多关于它的内容。
Spring,Spring Boot和Spring Cloud是允许开发人员加快创建新业务功能的工具。然而,众所周知,该功能只有在生产中才有价值。这就是为什么公司花费大量时间和资源来构建自己的部署管道。
该项目试图解决以下问题:
- 创建公共部署管道
- 传播良好的测试和部署实践
- 加快将功能部署到生产所需的时间
运行,配置和部署应用程序的常用方法可以降低新开发人员在更改项目时融入的支持成本和时间。
目前,我们支持开箱即用的以下CI / CD系统
- Concourse
- Jenkins
特性
Spring Cloud Pipelines具有以下功能
- Concourse的固定微服务管道
- 使用Job DSL插件的Jenkins自以为是的微服务管道
- Jenkins使用Declarative Pipeline(Jenkinsfile)的固定微服务管道
- Cloud Foundry PaaS支持
- Kubernetes PaaS支持
固定的管道看起来像这样:
Concourse流程
Jenkins流程
Spring Boot配置
重要:该项目已弃用。它被迁移到:Cloud Pipelines。你可以在这里读更多关于它的内容。
运行Cloud Foundry的演示
您可以通过运行默认的演示设置轻松启动,使用Docker / PCF Dev或Minikube在本地运行整个系统。
我们正在提供一个将构建和部署的演示管道--Github Webhook应用程序。
总而言之,有以下项目参与整个微服务设置。
- Github Analytics - 具有REST端点并使用消息传递的应用程序。我们的业务应用。
- Github Webhook - 发出Github Analytics使用的消息的项目。我们的业务应用。
- Eureka - 简单的Eureka服务器。这是基础架构应用程序。
- Github Analytics Stub Runner Boot - Stub Runner引导服务器,用于使用Github Analytics进行测试。使用Eureka和Messaging。这是基础架构应用程序。
有关详细信息,请查看文档。
Concourse
- 分叉Github Webhook和https://github.com/spring-cloud-samples/github-analytics [Github Analytics]存储库
- 启动PCF Dev
- 克隆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登录到您的大厅(其中192.168.99.100是您的Docker Machine ip - 如果您使用的是localhost,则不必提供该值)
- 根据提供的credentials-sample-cf.yml设置您的credentials.yml(指向您的fork [Github Webhook](https://github.com/spring-cloud-samples/github-webhook))
- 运行./set-pipeline.sh为github-webhook设置管道
- 在Concourse中取消暂停并运行管道!
- 管道通过后,您可以为github-analytics设置新管道
对于Kubernetes一步一步的指南,请查看文档
Jenkins
- 分享Github Webhook和Github Analytics存储库
- 启动PCF Dev
- 克隆spring-cloud-pipelines项目
- 转到jenkins文件夹
- 运行./start.sh yourGithubUser yourGithubPass yourGithubOrg启动Jenkins和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。然后您的网址将如下所示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
您还可以克隆存储库,以防您希望与上游存储库中的更改保持一致。 为了避免产生很多合并冲突,我们鼓励使用自定义文件夹挂钩来覆盖函数。
快速开始
使用Spring Initializr引导您的应用程序。
学习
文档
每个Spring项目都有自己的; 它详细解释了如何使用项目功能以及使用它们可以实现的功能。
1.0.0 M8 PRE CURRENT | Reference Doc. | API Doc. |
1.0.0 SNAPSHOT | Reference Doc. | API Doc. |
示例
尝试一些例子:
- Github Analytics 具有REST端点并使用消息传递的应用程序。 我们的业务应用。
- Github Webhook 发出Github Analytics使用的消息的项目。 我们的业务应用。
- Github Analytics Kubernetes 具有REST端点并使用消息传递的应用程序。 我们的业务应用。
- Github Webhook Kubernetes 发出Github Analytics使用的消息的项目。 我们的业务应用。
- Eureka 简单的Eureka服务器。 这是基础架构应用程序。
- Github Analytics Stub Runner Boot Stub Runner引导服务器,用于模拟Github Analytics依赖项
- DDD By Examples - factory 通过Spring Cloud Pipelines部署到生产环境的单片应用程序
Spring系列学习之Spring Cloud Pipelines微服务管道相关推荐
- Spring系列学习之Spring Cloud Data Flow 微服务数据流
英文原文:https://cloud.spring.io/spring-cloud-dataflow/ 目录 Spring Cloud数据流 概览 社区实现 快速开始 ?构建Spring Spring ...
- 搭建基于Spring Cloud的微服务应用
原文链接 在2017云栖大会-上海峰会上阿里云技术专家李斌做了题为<搭建基于spring Cloud的微服务应用>的分享.随着时代的发展,用户对于应用服务的要求越来越高,单体应用已经无法满 ...
- 《深入理解Spring Cloud与微服务构建》出版啦!
作者简介 方志朋,毕业于武汉理工大学,CSDN博客专家,专注于微服务.大数据等领域,乐于分享,爱好开源,活跃于各大开源社区.著有<史上最简单的Spring Cloud教程>,累计访问量超过 ...
- Spring Cloud构建微服务架构:分布式服务跟踪(整合zipkin)【Dalston版】
通过上一篇<分布式服务跟踪(整合logstash)>,我们虽然已经能够利用ELK平台提供的收集.存储.搜索等强大功能,对跟踪信息的管理和使用已经变得非常便利.但是,在ELK平台中的数据分析 ...
- Spring Cloud构建微服务架构:分布式服务跟踪(整合logstash)【Dalston版】
通过之前的<入门示例>,我们已经为两个由SpringCloud构建的微服务项目 trace-1和 trace-2引入了Spring Cloud Sleuth的基础模块 spring-clo ...
- Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)
通过上一篇<分布式服务跟踪(入门)>的例子,我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素.下面通过本文来详细说说实现分布式服务跟踪的一 ...
- Spring Cloud构建微服务架构:服务容错保护(Hystrix断路器)
断路器 断路器模式源于Martin Fowler的Circuit Breaker一文."断路器"本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时," ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习--转
原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...
- 基于 Spring Boot 和 Spring Cloud 实现微服务架构
前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...
最新文章
- Python培训之就业面试题分享
- linux python脚本返回,在C/python中执行linux命令并得到返回值以及输出
- linux --- 基础指令
- java开发工作找不到要放弃吗,年薪50W
- wamp2.2c集成环境搭建网站问题总结
- TypeScript:数组
- EditPlus中文版 安装教程
- html怎么调用jq和js,js的outerHTML 与jquery的prop()的用法
- js 字符串格式化format函数扩展
- 虚化背景(深度映射篇)
- 借助 usb转rs232 模块实现两台电脑文件的传输
- 基于51单片机的智能门禁控制系统(仿真+源码+全套资料)
- APP——内存测试——参考01
- 超详细|算法岗学习路线大总结
- 在线文件/文档预览/分页分片预览 之开源kkfileview(word转pdf,pdf截取,pdf转图片,Aspose jobConverter , OpenOffice ,libreoffice )
- vscode查找函数名_vscode学习笔记(三):搜索
- 优秀的Android开源框架(持续更新)
- 计算机专业英语第四版教程课文翻译,计算机专业英语教程(第4版)译文8.1
- 2021国内多用户商城系统源码哪个好,多用户商城系统中国十大品牌
- android 打开部分文件方法汇总整理