如何在 Gitlab CI/CD 测试中处理异步请求/响应

Fre*_*red 5 blazemeter gitlab-ci

我希望从 Jenkins 迁移到 GitLab CI/CD。我们目前使用 Jenkins 的 BlazeMeter 插件在 Blazemeter 上运行 GUI 功能测试,作为 Jenkins 工作的一部分。

不幸的是,BlazeMeter 没有 GitLab 插件,但他们有一个简单的 JSON API 来开始测试。

因为测试可以长时间运行,所以 Blazemeter API 是异步的。一个 cUrl 端点用于开始测试,另一个用于轮询和获取结果(传递在第一次调用中返回的 ID)。

作为 GitLab CI Pipeline 作业的一部分来处理这个异步过程的最佳方法是什么?示例 gitlab yaml 是什么?

Ruw*_*han 1

GitLab 具有 Webhook 或管道触发功能,您可以从任意位置调用。blazemeter 还通过 webhooks 提供通知。通过结合这两者将解决您的问题,而无需长时间运行一项作业直到测试完成。

test-trigger:
  stage: test
  script:
    - # curl command to invoke test
  except:
    - triggers

test-completion:
  stage: test
  script:
    - # reporting script
  only:
   - triggers
Run Code Online (Sandbox Code Playgroud)

以下资源将帮助您入门。