我创建了一个Dockerfile,该文件创建一个赛普拉斯映像,安装所有依赖项,复制必要的文件夹以及CMD命令以运行测试。我能够在本地构建docker映像,并在本地运行映像时进行测试。
我正在尝试在Azure Devops管道中运行测试。我使用创建的Dockerfile创建了新的管道。在我的管道中,我能够构建cypress图像,但是在构建图像之后,测试并未运行。
我缺少什么?在管道中建立映像后,我是否需要运行映像?如果可以,我会在yaml文件中这样做吗?
答案 0 :(得分:0)
运行映像时将执行CMD指令。映像创建后无法自动运行。因此,您必须使用docker run。
您可以使用Powershell任务而不是docker任务来运行docker build and run命令。
在下面的示例中,我运行docker build
命令来构建我的dockerfile,然后运行docker run命令来启动我的映像。然后,我可以从powershell任务摘要日志中查看执行结果。
- powershell: |
cd $(system.defaultworkingdirectory) #cd to the directory where dockerfile resides.
docker build -t myapp .
docker run --rm myapp
如果您想使用docker任务来构建dockerfile,也可以尝试使用RUN
执行Cypress测试,而不是在dockerfile中的CMD
命令中放入test执行命令,该命令只能运行图像时执行。