持续交付 36 讲
王潇俊
携程系统研发部总监
39682 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

37 | 快速构建持续交付系统(四):Ansible 解决自动部署问题

包含远程执行的核心命令
使用YAML语言编写
设置不同变量
分组管理
机器清单管理
支持集成多个持续集成平台
支持多个云平台
参数化创建一个Jar包发布的job
Maven Enforcer插件进行构建检测
利用Jenkins Pipeline编写脚本
控制发布过程
提供Web页面和Rest API
中心化管理节点
重启Tomcat服务
部署业务代码
初始化Tomcat
PlayBook
Inventory
测试SSH访问
使用pip安装
支持Linux/Windows跨平台的配置管理
无需安装agent进程
自动化运维管理工具
使用Spinnaker处理Docker
Jar包的发布
灰度发布的处理
Ansible Tower 简介
使用Ansible进行Java应用部署
Ansible使用
Ansible安装
Ansible
实战:Ansible 解决自动部署问题

该思维导图由 AI 生成,仅供参考

今天这篇文章,已经是实践案例系列的最后一篇了。在《快速构建持续交付系统(二):GitLab 解决配置管理问题》《快速构建持续交付系统(三):Jenkins 解决集成打包问题》这两篇文章中,我们已经分别基于 GitLab 搭建了代码管理平台、基于 Jenkins 搭建了集成与编译系统,并解决了这两个平台之间的联动、配合问题,从而满足了在代码平台 push 代码时,驱动集成编译系统工作的需求。
算下来,我们已经通过前面这两篇文章,跑完了整个持续交付体系三分之二的路程,剩下的就是解决如何利用开源工具搭建发布平台完成代码发布,跑完持续交付最后一公里的问题了。

利用 Ansible 完成部署

Ansible 是一个自动化运维管理工具,支持 Linux/Windows 跨平台的配置管理,任务分发等操作,可以帮我们大大减少在变更环境时所花费的时间。
与其他三大主流的配置管理工具 Chef、Puppet、Salt 相比,Ansible 最大的特点在于“agentless”,即无需在目标机器装安装 agent 进程,即可通过 SSH 或者 PowerShell 对一个环境中的集群进行中心化的管理。
所以,这个“agentless”特性,可以大大减少我们配置管理平台的学习成本,尤其适合于第一次尝试使用此类配置管理工具。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了如何利用Ansible解决自动化部署的问题,并结合实际案例详细阐述了部署Java应用的过程。文章首先介绍了Ansible的特点和安装方法,然后重点讲解了使用Ansible进行Java应用部署的步骤,包括初始化Tomcat、部署业务代码和重启Tomcat服务。此外,还提到了使用Ansible Tower来解决用户体验和统一管理问题,并介绍了灰度发布的处理方法。另外,文章还分享了在Jar包发布和Docker处理方面的经验和建议,包括使用Maven Enforcer插件进行构建检测和推荐使用Spinnaker作为Docker编排平台的第一选择。总的来说,本文通过实践经验和技术建议,为读者提供了完整的持续交付系统搭建过程,涵盖了从代码管理到集成编译再到程序发布上线的完整流程。读者可以从中学习到如何利用Ansible系统的能力搭建部署系统,以及如何管理部署目标和编写部署过程的具体逻辑。整体而言,本文对于需要了解自动化部署和持续交付的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 铭熙
    如果jenkins有多个slave,每个slave节点都要装ansible吧?这些slave节点上的ssh key怎么保持一致性呢?

    作者回复: 这个文章里已经介绍了呢,可以使用ansible tower,把ansible作为一个独立服务看待,而不是安装在slave上

    2018-09-27
    4
  • kkgo
    ansible tower收费的吧
    2018-10-10
    3
    5
  • 天煜
    怎么快速的在大规模集群中发布大的代码包?例如,5000台机器,发布1G的代码包。
    2019-12-05
    3
  • 黄云龙
    ansible 与 Docker 有什么区别
    2018-09-28
    1
    2
  • 戴斌
    我们也是用Ansible发布的
    2020-03-25
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部