使用容器支持的开发加快开发和测试速度
容器提供了一种在不同环境中构建、共享和运行应用程序的一致方式。虽然容器通常用于将应用程序容器化,但它们也使运行开发所需的基本服务变得非常容易。您不必安装或连接到远程数据库,而是可以轻松启动自己的数据库。但可能性还不止于此。
通过容器支持的开发,您可以使用容器来增强您的开发环境,通过模拟或运行您的应用程序所需服务的实例。这提供了更快的反馈循环,减少与远程服务的耦合,以及更强的测试错误状态的能力。
最重要的是,无论正在开发的主应用程序是否在容器中运行,您都可以享受这些好处。
你将学到什么
- 容器支持开发的意义
- 如何将非容器化应用程序连接到容器化服务
- 使用容器模拟或运行服务的本地实例的几个示例
- 如何使用容器为您的开发环境添加额外的故障排除和调试工具
这是为谁准备的?
- 希望减少对共享或部署的基础设施或远程API端点的耦合的团队
- 希望减少在开发过程中直接使用云服务带来的复杂性和成本的团队
- 希望更轻松地可视化数据库中、队列等情况的开发者。
- 希望在不影响应用程序本身开发的情况下减少设置开发环境复杂性的团队
工具集成
与Docker Compose和Testcontainers配合良好。
模块
什么是容器支持的开发?
容器支持的开发是指通过运行应用程序所依赖服务的本地实例或模拟器,使用容器来增强您的开发环境。一旦您开始使用容器,就可以轻松添加额外的服务来可视化或排查服务中的问题。
演示:本地运行数据库
通过容器支持的开发,可以轻松地在本地运行数据库。在本演示中,您将看到如何做到这一点,以及如何将非容器化的应用程序连接到数据库。
提示
了解更多关于在容器中运行数据库的信息,请参阅 使用容器化数据库 指南。
演示:模拟API端点
许多API需要从其他数据端点获取数据。在开发过程中,这会增加复杂性,例如共享凭据、正常运行时间/可用性和速率限制。您的应用程序可以与模拟API服务器交互,而不是直接依赖这些服务。
本演示将展示如何使用WireMock可以简化应用程序的开发和测试,包括API的各种错误状态。
提示
了解更多关于使用WireMock来模拟API的信息,请参阅 使用WireMock模拟API服务指南。
演示:本地开发云
在开发应用程序时,通常更容易将应用程序的某些方面外包给云服务,例如Amazon S3。然而,在本地开发中连接到这些服务会引入IAM策略、网络限制和配置复杂性。虽然这些要求在生产环境中很重要,但它们显著地使开发环境复杂化。
通过容器支持的开发,您可以在开发和测试期间运行这些服务的本地实例,从而消除了复杂设置的需求。在本演示中,您将看到LocalStack如何使完全从开发人员的工作站开发和测试应用程序变得容易。
提示
了解更多关于使用LocalStack的信息,请参阅 使用LocalStack开发和测试AWS云应用程序指南。
演示:添加额外的调试和故障排除工具
一旦你在开发环境中开始使用容器,添加额外的容器来可视化数据库或消息队列的内容、种子文档存储或事件发布者就变得容易得多。在这个演示中,你将看到一些这样的例子,以及如何将多个容器连接在一起,使测试变得更加容易。