博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于部署CI/CD的5点建议
阅读量:7048 次
发布时间:2019-06-28

本文共 1153 字,大约阅读时间需要 3 分钟。

CI/CD是devops的关键实践之一,它让团队能够在开发实践上保持一致,并确保有一种一致的、可靠的、自动化的方式将应用程序交付到多个计算环境。

以下是关于实现CI/CD的五个建议:

1. 确定业务和技术目标

对于大多数企业来说,CI/CD都不可能在一夜之间实现,通常会是一项渐进式的工程。这意味着大多数devops团队必须优先考虑要开发哪些实践、要自动化哪些过程以及要关注哪些平台堆栈。

值得参考的办法是查看短期业务优先级,并将devops和CI/CD目标对准它们。如果有新的应用正在开发中,那么这是聚焦它们的CI/CD管道的最佳时机。如果您正在进行上云迁移,那么标准化体系结构和为需要品牌更改的应用开发CD pipeline绝对是一个很好的起点。

2. 从持续测试开始(continuous test)

做为企业,首先要关注“基础”,如确保源代码具备单元测试,通过了静态代码分析和安全扫描。

只有不断追求高质量的代码和近乎完美的应用,交付速度才能飞速提升,也就是说,我们需要在CI/CD中加入自动化测试的环节。不仅仅是单元测试,代码分析、安全性和性能测试,都应该在每次提交至交付或生产环境时从CI/CD触发。

3. 在实现CI前对架构进行标准化

自动化的价值,在于它可以完成可靠的重复,开发团队过去需要做的——把应用部署到多种类型的开发和测试环境,以及最终的生产环境。如果这些环境的架构没有标准化,自动化带来的优势便也很难享受的到了。

我们可以考虑使用chef、puppet或者anable,或是利用docker和kubernetes来整理架构,将基础架构自动化。

4. 用CI来匹配短期业务目标

持续交付不一定适合每个业务或者应用,如果业务目标是发布一些松耦合的特性,那么使用特性分支会是一个好办法,可以分离特性跟踪并在完成时进行合并。但是,如果很长一段时间内有很多功能正在开发,那么开发团队可能会想要查看某些功能分支并做一些特性标记。

5. 让系统工程师来实现CD

CD需要编写大量脚本、对计算(云)架构以及应用有足够的了解。有些团队会安排开发人员来做CI/CD,我们一般更建议工程师来参与这项工作,肩负实现自动化的挑战。

之所以如此建议,在于工作的专注——开发人员应该集中在实现业务逻辑和代码编写,工程师应该更精通系统编程,例如IaC和CI/CD。

CI/CD应该能够推动平台合理化

CI/CD是一项大工程,从架构的标准化到流程的建立,再到支持不同语言编写代码并自动化交付应用,这不是一项一蹴而就的事情,但只要方法得当,企业会从中受益匪浅。

阅读更多

开源PaaS Rainbond提供可扩展的CI/CD,支持主流开发语言源码构建,可对接jenkins等第三方工具,进一步了解请访问官网或免费使用

转载地址:http://bjkol.baihongyu.com/

你可能感兴趣的文章
使用Swagger生成Spring Boot REST客户端(支持Feign)(待实践)
查看>>
solr6.6 配置拼音分词
查看>>
datatables参数配置详解
查看>>
Composer 结合 Git 创建 “服务类库”
查看>>
Redis线程模型
查看>>
修改firefox/chrome浏览器的UserAgent
查看>>
sql 基础练习 计算7天各个时间点的总和 group by order mysql一次查询多个表
查看>>
MySQL高级-索引优化
查看>>
SQL中Group By的使用
查看>>
RateLimiter 限流
查看>>
资深设计师Tony Ventrice解析手机游戏开发的四个层次
查看>>
Swift入门篇-结构体
查看>>
Using the Eclipse Jobs-API(转载)
查看>>
GCC编译过程
查看>>
AE intersect、clip的实现
查看>>
图解使用Win8Api进行Metro风格的程序开发一----建立我们的导航架构
查看>>
iOS开发过程中使用Core Data应避免的十个错误
查看>>
I.MX6 wpa_cli 使用
查看>>
windows使用nginx实现网站负载均衡测试实例
查看>>
DotLiquid模板引擎简介
查看>>