高级软件工程师教会小白的那些事( 十 )

我们有一个开发环境,其中机器安装了一组库(和开发工具),我们在上面安装在这些库上编写的代码。其他依赖系统的所有测试都可以在这里进行。

然后是beta / stage环境,它与生产环境完全一样。

最后,生产环境,它们是运行代码并为实际客户提供服务的机器。

目的是尝试捕获单元和系统测试发现不了的bug。例如,请求和响应系统之间的API不匹配。

我想个人项目或小公司的情况会有很大不同。并非每个人都有资源来部署自己的基础设施。但是,这个想法对于AWS和Azure等云提供商的服务也适用。

你可以为开发和生产设置单独的集群。AWS ECS使用docker镜像进行部署,因此各环境之间相对一致。棘手的一点是其他AWS服务之间的集成。你是否从正确的环境中调用了正确的端点?

你甚至可以更进一步:为其他AWS服务下载备用容器映像,并使用docker-compose设置本地完整环境。这样能加速反馈循环

等我启动自己的业余项目以后,我可能会在这方面有更多的经验。

推荐阅读