第 9 章 持续集成
在前面几章中,我们介绍了玩具车模型库存解决方案的软件开发过程。我们遵循了测试驱动开发流程,现阶段我们应该已经熟悉了这一流程。但是,我们正在构建的软件仍有许多功能缺失。
在本章中,我们将从一个几乎完整的解决方案开始,你可以从本章的 GitHub 资源库中获取该解决方案。然后,我们将确保解决方案能够正常运行。在本章中,我们将从一个几乎完整的软件解决方案开始,除了缺少最后一个功能,即过滤包含玩具车模型的表格。我们已经构建了大量测试;如果我们能在向开发分支或主分支创建拉取请求时自动触发这些测试的执行,那岂不是更好?自动触发我们花了大量时间开发的测试套件将帮助我们在错误或缺陷合并到主分支之前就能捕捉到它们。这就是持续集成能够帮助我们的地方。
在本章中,我们将讨论以下主题:
-
运行并通过所有 Symfony 应用程序测试
-
使用 Bitbucket Pipelines 进行持续集成
技术要求
在本章中,我们希望你掌握在网络应用程序中使用 Git 版本控制的基本知识。您还应使用本书 GitHub 仓库中的开发环境和解决方案代码: https://github.com/PacktPublishing/Test-Driven-Developmentwith-PHP-8/tree/main/Chapter%209 。
准备章节的开发环境
首先,下载 https://github.com/PacktPublishing/TestDriven-Development-with-PHP-8/tree/main/Chapter%209 中的代码。
要运行容器并执行本章中的命令,您应该位于 docker-server-web-1
容器内。
运行以下命令来确认我们的 Web 服务器的容器名称:
docker ps
要运行容器,请从主机上的版本库中的 /docker
目录运行以下命令:
docker-compose build && docker-compose up -d
docker exec -it docker-server-web-1 /bin/bash
进入容器后,运行以下命令通过 Composer 安装所需的库:
/var/www/html/symfony# ./setup.sh
/var/www/html/behat# ./setup.sh