基于Ansible和CodeDeploy的DevOps方案( 二 )
文章插图
图5 FIT2CLOUD DevOps解决方案全流程
如上图所示 , FIT2CLOUD DevOps解决方案涵盖了整个流水线的规范和工具选择 。 从左至右 , 开发人员提交代码到仓库(Git/SVN) , 使用持续集成工具(开源Jenkins)拉取最新代码构建部署包 , 并上传到制品库(开源Nexus/Artifactory)进行保存 。
在Jenkins Job构建的同时 , FIT2CLOUD 多云管理平台提供的Jenkins插件会自动在多云管理平台对应的应用下注册一个新的版本 。 用户可以在多云管理平台进一步执行应用后续部署的相关动作 , 也可以在插件中设置部署操作的自动触发 , 以简化流程 。
在应用的生命周期内 , 多云管理平台会对其持续进行各项指标的监控 , 并基于Grafana提供可视化图表 。 如果应用监控项超过预设指标 , 监控告警模块会发出相关告警信息 。
运维人员在项目维护中 , 可以借助JumpServer开源堡垒机(jumpserver.org)访问应用所在机器的后台 , 进行一系列的运维管理工作 。 多云管理平台会自动将纳管的机器相关信息同步至JumpServer , 并授权给管理人员 。 同时 , 该平台还和JumpServer对接了单点登录 , 用户可在多云管理平台中选择机器一键通过堡垒机登录机器后台 , 这种方式对于运维团队来说更为便捷与安全 。
测试人员可以在Jenkins上使用MeterSphere开源持续测试平台(metersphere.io)所提供的插件将Job与测试用例做关联 , 通过Jenkins触发MeterSphere测试任务 , 以便在各个环境更新后第一时间执行预设的测试用例 , 从而保障系统的稳定与可靠 。
在FIT2CLOUD DevOps解决方案中 , 核心的三个使用场景:
1. 在持续集成CI方面 , 多云管理平台实现与主流CI工具Jenkins的对接 , 进一步管理了Jenkins中的凭据、构建任务、视图等 。 结合多云管理平台自身的组织能力 , 对以上纳管内容进行权限再分配 , 实现对资源更加集中与规范的管理 。
特别是 , 我们提供了用于对接多云管理平台的Jenkins插件 , 即在每次构建任务执行完成后 , 自动在多云管理平台创建新的应用版本 , 可以直接用于应用的部署 。
文章插图
图6 对接Jenkins 配置
文章插图
图7 配置Jenkins Job
2. 在持续部署CD方面 , FIT2CLOUD多云管理平台主要承担环境管理、制品仓库管理、代码部署引擎的职责 。 FIT2CLOUD多云管理平台从应用的角度对主机进行分组管理 , 并完成基础环境配置 。 该平台支持管理Nexus、Nexus3、阿里云OSS、AWS S3、Artifactory等多种制品库 , 主要用来存放需要部署的各个版本的应用部署包 。
文章插图
图8 环境管理、创建应用
持续部署CD中最重要的是代码部署引擎 , 即按照用户预先定义的事件脚本来实现自动化部署 。 FIT2CLOUD DevOps解决方案中的代码部署引擎 , 遵从于前文提到的AWS CodeDeploy部署规范 。 与之有所区别的是 , 此方案中的代码部署引擎适用于各种公有云、私有云 , 以及本地物理裸机环境 。
文章插图
图9 AWS CodeDepoly 部署规范
应用的打包内容除了应用程序代码外 , 只需要一个AppSpec.yml文件和一些用于处理安装中一个或多个事件的脚本文件 。 AppSpec.yml 脚本不仅定义了代码部署的路径 , 还指定了要在部署过程的各个阶段在每个实例上运行的脚本文件 。
一般的部署事件有7个 , 如图9所示 , 以Install为中心 , 在安装部署包前后会自动且规范化地做一些譬如应用停止、依赖检查、依赖安装、部署后的验证等操作 。 企业可以根据情况按需选择 , 往往这些步骤只需要脚本化即可 。
文章插图
图10 FIT2CLOUD 多云管理平台应用部署流程
值得一提的是 , 上述代码部署引擎的实现 , 是通过开源自动化运维工具Ansible作为命令下发的组件 。 与其他一些自动化运维工具相比 , Ansible是无客户端Agent的 , 底层通过SSH通信 。 因此 , 用户无需在客户机上安装或配置任何程序 , 就可以运行Ansible任务 , 这样减少了许多管理开销 。
文章插图
图11 Ansible 组件执行部署动作的输出日志
- 中国|浅谈5G移动通信技术的前世和今生
- 芯片|华米GTS2mini和红米手表哪个好 参数功能配置对比
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- 二维码|村网通?澳大利亚一州推出疫情追踪二维码 还考虑采用人脸识别和地理定位
- 不到|苹果赚了多少?iPhone12成本不到2500元,华为和小米的利润呢?
- 机器人|网络里面的假消息忽悠了非常多的小喷子和小机器人
- 华为|骁龙870和骁龙855区别都是7nm芯片吗 性能对比评测
- 花15.5亿元与中粮包装握手言和 加多宝离上市又进一步?|15楼财经 | 清远加多宝
- 和谐|人民日报海外版今日聚焦云南西双版纳 看科技如何助力人象和谐
- 内容|浅谈内容行业的一些规律和壁垒,聊聊电商平台孵化小红书难点(外部原因)