我在bitbucket上有一个存储库,该存储库具有用于系统的测试套件,可以在API级别上测试最关键的系统功能。每当作为该系统一部分(全部存在于自己的存储库中)的服务被部署到阶段(通过bitbucket-pipeline)时,我都希望在该测试套件中定义的测试(存在于自己的存储库中)在部署到暂存后,进入bitbucket管道。
因此,从根本上说,在部署到测试套件作为管道一部分的加载和执行阶段之后,基本上要添加一个步骤来运行测试。
它不必自动恢复该服务的先前版本,但是它应该使管道失败,因此可以手动对其进行修复。
我将测试放在docker映像中,并将其推送到ECR。当我使用docker run IMAGE
时,测试会运行,但如果失败,则不会在管道中反映出来。
我也试图定义这样的步骤:
step:
name: Running system level api tests
image:
name: image name of test suite in AWS ECR
aws:
access-key: $AWS_ACCESS_KEY_ID
secret-key: $AWS_SECRET_ACCESS_KEY
script:
- mvn test
services:
- docker
artifacts:
- reporting_folders here
但是这也行不通,因为它找不到任何文件。
如何确保测试作为时间表的一部分运行?我希望管道会因为测试失败而失败,并且可以通过bitbucket-pipeline获得在docker映像中生成的工件。