zoukankan      html  css  js  c++  java
  • DevOps架构实践

    1. 场景

    持续部署:业界没有统一明确地定义,简单理解为将集成结果部署到不同的环境供用户使用,并且立即反馈部署结果的实践,其中不同的环境包括:开发环境、测试环境、预发布环境、生产环境
    持续部署两个核心要素:持续、自动化,自动化是持续的基础
    持续部署的需求场景:
    • 需要频繁的发布更新
    • 部署规模较大,人工操作费时费力易出错
    • 规范化上线部署流程和配置规范
    注:此处只讨论应用部署,不包括系统部署
     

    2. 实践

    • 开发提交代码到Git仓库
    • 自动或手动触发持续集成,执行编译、打包、单元测试、代码扫描等过程,并构建出可部署的程序文件,上传测试的SVN库
    • 测试人员手动触发Jenkins调用Rundeck从测试的SVN库中获取部署文件并部署到测试环境
    • 测试人员进行产品验证
    • 测试人员在验证通过后,申请发布到生产环境,并手动触发Jenkins,将测试的SVN库中的部署文件上传到运维的SVN库
    • 运维人员触发Rundeck,从运维的SVN库中获取部署文件并更新到生产环境
    注:
    • 集群的部署采用分步更新,先发布到线上集群里的某一个节点进行更新测试,测试通过后把这个节点加入集群,再更新其他节点
    • 发布成果的版本采用时间戳的形式

    3. 工具

    3.1 工具箱
    • Jenkins:用作发布任务的触发,实现发布的持续化
    • SVN:发布成果的版本管理工具,实现发布内容的可追踪、易回滚
    • Rundeck:用Java/Grails实现的开源自动化部署工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行远程操作,大大降低了对服务器自动化的门槛。

    4. 效果

    • 提升应用变更效率,包括速率和成功率
    • 实现部署自助化,开发、测试均可完成相应环境的发布

    原文出自:

    http://udn.yyuap.com/forum.php?mod=viewthread&tid=30567&typeid=343

  • 相关阅读:
    Quick Sort 快速排序的原理及实现
    IAR_FOR_STM8开发之DEMO的建立
    跨域或者Internet访问Remoting[Remoting FAQ]
    2020 7 22 每日总结
    2020 7 23 每日总结
    2020 7 27 每日总结
    2020 7 20 每日总结
    2020 7 29 每日总结
    2020 7 21 每日总结
    2020 7 28 每日总结
  • 原文地址:https://www.cnblogs.com/lingyejun/p/7285953.html
Copyright © 2011-2022 走看看