
DevOps
|
123
障。现如今,市面上有很多这样的开发工具,一直支持着这种开发模式。
但是,在进入到微服务架构和无服务器计算之后,即使把整个应用程序都跑在一台本地
开发机器上不是不可能的,至少这一模式也已经发生了变化。把代码更改从本地推送
到远端环境会增加开发周期,降低开发人员的效率。通常本地的迭代和代码验证会更容
易。但是,新的工具渐渐地使得在云端做这些工作也变得越来越容易,或者至少是本地
和云端相结合。基于云端的开发环境还有一些额外的好处,云端开发可以更好地支持协
作,同时能够实现测试环境和生产环境的更好的一致性。
对一个团队和项目而言,最好的方法常常是将本地和云端的开发环境和工具结合起来使
用。例如,一些团队在本地编辑代码、运行单元测试,然后将代码推送到云端的开发环
境。当开发一个服务时,有时候有些依赖项不得不跑在云端。
以下列出了一些开发环境的考虑因素:
•
正在开发的代码需要跑在一个集群上吗?
•
你希望在哪里运行你的集群?本地还是云端?
•
你在哪里编辑和提交代码修改?本地还是云端?
•
是否有一些需要在云端运行的依赖项?
•
团队是否是非常分散的?是否可以从协作的开发环境中获益?
例如,有个功能是用无服务器计算实现的,在本地通过单元测试和集成测试来调试。在
本地环境下,可以用测试替身来解决对其他服务的依赖问题。当单元和集成测试通过
了,代码也梳理完了,就会将代码部署到位于云端的真实的开发或测试环境中进行测
试。接着,代码就可以提交合并请求了,经过代码评审后会进入 CI 流程。如图 5-3 所
示,大多数的功能开发都是在本地完成的,在提交合并请求和代码评审之前会在真实的 ...