';
数字化时代,借助DevOps实现敏捷灵活的IT交付
什么是DevOps
DevOps(Development和Operations的组合词)最初是因传统模式的运维之痛而生,其概念升温于2009年的欧洲。DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。
DevOps十分重视软件开发人员与IT运维人员之间的沟通与合作,希望通过自动化的流程来使得软件构建、测试以及发布能够更加快捷、频繁和可靠。因此从本质上讲,DevOps是一种文化,一种运动,一种哲学。
为什么使用DevOps
DevOps涉及了软件开发全生命周期中的持续开发、持续测试、持续集成、持续部署以及持续监控,这也是很多公司选择DevOps作为其业务目标的前进方向。DevOps可以帮助企业在较短的开发周期内开发出高质量的软件,进而提高客户满意度。
DevOps的优势主要包括如下:
1 速度
通过高速运转,让组织可以针对客户需求更快速地进行创新,更好地适应不断变化的市场,同时更有效地推动业务成果。
2 快速交付
提高发布的频率和速度,以便组织能够更快速地进行创新交付并完善产品。
3 可靠性
确保应用程序更新和基础设施变更的品质,以便组织能够在保持最终用户优质体验的同时,更加快速可靠地进行交付。
4 规模
自动化和一致性可在降低风险的同时,大规模运行和管理组织的基础设施及开发流程,帮助组织应对不断变化的复杂系统。
5 增强合作
建立一个适应 DevOps 文化模式的高效团队,强调主人翁精神,使开发团队和运营团队达到密切合作,相互融合,并可以共同承担相关责任。这既有助于提高工作效率,又节约了时间成本。
6 安全性
在快速运转的同时保持控制力和合规性,利用自动实施的合规性策略、精细控制和配置管理技术,组织可以在不牺牲安全性的前提下采用 DevOps 模式。
我们的DevOps流程
我们的DevOps流程是基于Jenkins来实现的,具体步骤如下:
1代码的编译提交
我们使用的代码版本管理工具是SVN。在这里当有开发工程师通过SVN把代码提交到SVN服务器时,SVN服务器会自动触发Jenkins上面的构建。触发机制是当SVN检测到有操作发生时,会触发SVN服务器上代码版本管理目录下hooks下对应的操作,例如提交代码会触发post-commit操作,然后post-commit会调用Jenkins的API,触发指定的构建(svn_test)。
2代码编译maven
当代码提交的构建执行完成之后,Jenkins会自动触发代码编译的构建(svn_maven),然后执行代码的编译操作。
3JUnit测试
代码编译之后,需要进行测试,这里使用的是JUnit的方式来测试的。
4Docker打包
测试完成之后,就可以进行程序的部署,这里使用docker的方式,把代码打包成docker镜像,然后上传到本地镜像服务器。
5Ansible部署
当docker镜像创建好并上传到本地镜像仓库后,就可以把服务部署到测试环境,这里我们使用ansible在远程测试主机上执行命令的方式来实现。
6监控
当服务部署到测试环境之后,我们需要做一些监控工作,对系统以及相关的服务进行监控,以免出现错误不能及时发现。
THE END
DevOps是一个自动化过程,允许快速、安全和高质量的软件开发和发布。借助DevOps的实施,企业的整体运营模式正在变得更加敏捷和灵活。在云计算、大数据、人工智能等为主导的数字化时代,只有采用更完备的技术支撑体系,才能满足企业高质量发展的需求。