【问题标题】:How to run a Jenkins CI with cypress e2e test for Vue SPA that has to connect to Laravel APIs?如何为必须连接到 Laravel API 的 Vue SPA 运行带有 cypress e2e 测试的 Jenkins CI?
【发布时间】:2020-06-28 02:49:16
【问题描述】:

我正在尝试为必须连接到 Laravel 后端的 Vue SPA 应用程序设置赛普拉斯端到端测试;测试将在 Jenkins 管道中运行。这在本地开发环境中实际上是直截了当的。基本上:

  • 使用 docker-compose 启动 Laravel 和 DB
  • 使用 docker 启动 SPA,然后在容器内执行 cypress run

但是,我似乎想不出在 Jenkins 管道中设置类似内容的最佳方式。 SPA 和 Laravel 位于不同的存储库中,我不想在运行 CI 过程时将一个拉入另一个;这个想法本身似乎很混乱。

那么,基本上,为必须连接到 Laravel API/MySQL DB 的 Vue SPA 进行端到端 cypress 测试的 Jenkins 管道设置的最佳方式是什么?

这是我的第一个 SO 问题,如果我在创建它时违反了任何规则,我提前道歉。

【问题讨论】:

    标签: laravel vue.js jenkins devops cypress


    【解决方案1】:

    赛普拉斯不关心您的 BE 托管在哪里,它由您的 baseUrl 设置。

    在您的 Jenkins CI 上为您的 BE 存储库设置部署流程,该流程将站点托管在您的 ci 服务器的子域中,例如 e2e.example.com。部署 BE 后,您可以设置另一个作业来部署和测试 Vue SPA。

    如果是我,我会创建一个作业并让它首先部署您的 BE 的最新/指定版本,然后部署前端并运行 cypress。我在一个较旧的项目中完成了这项工作,包括 capistrano、jenkins 和 cypress,但是我的不是两个 repo 中的 SPA,所以我不必在一项工作中进行两个部署。

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      • 2022-08-23
      • 2019-08-22
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多