I am looking to migrate from Jenkins to GitLab CI/CD. We currently use the BlazeMeter plugin for Jenkins to run GUI Functional tests on Blazemeter as part of a Jenkins job.
Unfortunately BlazeMeter doesn't have a plugin for GitLab but they do have a simple JSON API to start tests.
Because the tests can be long-running the Blazemeter API is asynchronous. One cUrl endpoint is used to start a test and another is used to poll and get the results (passing an ID returned in the first call).
What is the best way to handle this asynchronous process as part of a GitLab CI Pipeline job and what is the sample gitlab yaml?
GitLab has webhook or pipeline trigger feature where you can invoke from where ever you want. Also blazemeter has notification via webhooks. By combining these two will solve your problem without having long running one job until test completion.
test-trigger:
stage: test
script:
- # curl command to invoke test
except:
- triggers
test-completion:
stage: test
script:
- # reporting script
only:
- triggers
Following resources will help you to get started.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With