【问题标题】:Running Cypress test in Azure DevOps Pipelines via Dockerfile通过 Dockerfile 在 Azure DevOps Pipelines 中运行 Cypress 测试
【发布时间】:2020-01-22 17:56:12
【问题描述】:

我创建了一个 Dockerfile,它创建了一个 cypress 映像、安装所有依赖项、复制必要的文件夹和 CMD 命令来运行测试。我能够在本地构建 docker 映像,并在本地运行映像时运行测试。

我正在尝试在 Azure Devops 管道中运行测试。我使用我创建的 Dockerfile 创建了一个新管道。在我的管道中,我能够构建 cypress 映像,但构建映像后测试未运行。

我错过了什么?在管道中内置图像后,我是否需要运行图像?如果是这样,我会在 yaml 文件中这样做吗?

【问题讨论】:

    标签: azure-devops azure-pipelines cypress


    【解决方案1】:

    运行镜像时要执行CMD指令。镜像构建后无法自动运行。所以你必须使用 docker run。

    您可以使用 powershell 任务来运行 docker build 和 run 命令,而不是 docker 任务。

    在下面的示例中,我运行 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 命令中,这只能在运行时执行图片。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 2021-01-25
      相关资源
      最近更新 更多