当前位置: 首页 > news >正文

阿里云CodePipeline亮相,帮助用户实现持续集成与交付

2018115日,阿里云开发应用产品CodePipeline(商业化)正式发布。它是一款提供持续集成/持续交付能力,并完全兼容Jenkins的能力和使用习惯的SAAS化产品。通过使用阿里云CodePipeline,您可以方便的在云端实现从代码到应用的持续集成和交付,方便您快速的对您的产品进行功能迭代和演进。

 

产品功能及优势

1. 与多套源代码管理平台集成:可以与GitHubBitbucket、阿里云Code等平台无缝集成获取源码。

2. 代码编译&单元测试:目前提供JavaNodejsPHPPythonPython2/3Go开发语言的编译&UT能力。

3. 部署到ECS环境: 提供通过开源Slat协议的通道,部署代码编译构建产物到ECS,或VM环境之中;并支持使用Packer创建ECS镜像场景。

4. 提供容器化集成解决方案:可以独立支持Docker镜像编译,同时支持通过阿里云容器镜像服务进行编译和安全检查,并与阿里云容器服务打通,能够通过CodePipeline自动发布到容器服务的Kubernetes集群中,目前支持蓝绿/灰度发布等多种发布方式。

5. DevOps 实践: 能够通过自动化构建、测试和发布流程,通过运行一整套一致的质量检查提高软件更新的速度和质量。让我们的理念教育有产品基础。    

 

产品架构

CodePipeline产品的系统架构和业务关系如下图所示,您配置执行的任务大致分为两类,编译/测试类任务和部署类任务,PipelineService如同调度器,将分别将您的任务下发到不同的任务集群工作。

· 编译/测试类任务通过沙箱式运行时环境资源池进行,每次任务执行的数据均在容器环境中,环境不会存储数据,任务的结果(比如编译构建的产物)会上传到您的OSS中管理。

· 部署类任务目前支持ECS类环境和容器类环境,同样会通过Deploy Service向您的运行环境下发指令,拉取存储在您拥有的OSS上的部署产物进行发布。

 

场景拼装介绍:

如下图所示,容器化持续交付解决方案。 在开发人员提交代码到源代码管理平台之后,持续集成服务会拉取代码进行构建,可以通过编译服务进行docker build,或通过容器镜像服务进行,在Build后可以对Docker镜像进行测试,在测试通过后通过使用容器服务的插件进行部署。

在这个过程中,CodePipeline扮演了CI和CD Service,同样您的运行环境也可以是ECS环境,VM等。

 

 

应用场景

· 通过CodePipeline,可以帮助您完成从代码提交到应用部署的DevOps完整流程,确保只有通过自动测试的代码才能交付和部署,高效替代业内部署复杂、迭代缓慢的传统方式。

 

· 与阿里云容器服务深度集成,不仅能够提供Docker Image的构建,和阿里云镜像服务打通支持安全扫描,并能够和容器服务打通做到Docker容器化应用的自动化持续交付,更多场景和实践文章参考

 

· 基于开源自动化运维软件Salt,能够将应用轻松部署发布到ECS环境及独立可访问到的操作系统环境中。

 

 

产品链接请参考:https://help.aliyun.com/document_detail/56512.html?spm=5176.145865.755375.doc1.44fed487ntULz5

相关文章:

  • 使用Photoshop+960 Grid System模板进行网页设计
  • div层次整理 / 自定义pycharm补全 / 注释 /keymap /tab
  • [译]Flutter for Android Developers - Async UI
  • 使用nexus搭建Maven私服
  • Py徐少攻关之初探 编码 语言分类 (2)
  • 从高大上航拍到接地气撒农药,大疆推出MG-1农业植保机
  • mongo中命令工作原理
  • 「镁客·请讲」黑晶VR徐强:VR教育先抓核心阵地,快速攻占学校
  • 标榜着“有情绪”的机器人们,真的有情绪吗?
  • spring boot 集成 elasticsearch 2.4.6
  • zabbix故障:apache源码和页面上的php红色提示
  • mysql报错问题解决Character set 'utf8mb4' is not a compil
  • 8Manage:可视化项目管理是如何实现的
  • MapReduce基本流程与设计思想初步
  • 关于“Fluent UI”或Ribbon Design报道的补充说明
  • 4个实用的微服务测试策略
  • Brief introduction of how to 'Call, Apply and Bind'
  • centos安装java运行环境jdk+tomcat
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • python 装饰器(一)
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 解析 Webpack中import、require、按需加载的执行过程
  • 什么是Javascript函数节流?
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 小程序button引导用户授权
  • 一道闭包题引发的思考
  • 你对linux中grep命令知道多少?
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • FaaS 的简单实践
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • (07)Hive——窗口函数详解
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (剑指Offer)面试题34:丑数
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (七)c52学习之旅-中断
  • (十一)c52学习之旅-动态数码管
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .net core使用ef 6
  • .net中的Queue和Stack
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • [20170713] 无法访问SQL Server
  • [Android] Android ActivityManager
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [ARM]ldr 和 adr 伪指令的区别
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C++]unordered系列关联式容器
  • [C++进阶篇]STL中vector的使用
  • [CQOI 2011]动态逆序对
  • [Excel] vlookup函数
  • [Hadoop in China 2011] Hadoop之上 中国移动“大云”系统解析
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • [IDF]聪明的小羊