Load Testing on Codeship with Redline13 – it just makes sense

Load Testing on Codeship with Redline13 – it just makes sense

Codeship – A Continuous Integration Platform in the cloud that fits your needs.

Codeship + Redline13 – makes load testing easy and (almost) free.

Codeship provides Basic and Pro.

  • For Codeship Pro integration, read Codeship Pro Integration

When looking at the easy and quick nature of building software with Codeship it just made sense to put together a Codeship integration.  Redline13 already has the API and examples to do this.

With this Codeship integration, you have the tools for your Codeship build to kick off a Redline13 load test (of any scale), wait for results, and report back if your test is considered a success or failure.

1 – In your Codeship environment you can add the following variables.

  • REDLINE_API_KEY – your api key from https://www.redline13.com/Account/apikey
  • TIMEOUT – How long to wait for your test to run
  • SUCCESS_RATE – Percent of tests that must complete success for build to pass
  • RESPONSE_TIME – Average response time must be less than this for build to pass
Setting environment variables in Codeship at the project level
Setting environment variables in Codeship at the project level

2. Setup your Codeship project and execute script to complete your Codeship Integration

  • You can execute this script many ways, this demo shows using script and custom command.
  • Redline13 APIs can be called from nodejs, php, python, or any language of your choice
  • If you running JMeter, Gatling, or Custom Tests you will probably be passing in files from your repo – please adjust the path in the curl command below to find your test files
  • You need to add both setup and test commands
  • Setup Command
    • ## Download script
      curl -sSL https://raw.githubusercontent.com/redline13/codeship-redline13/master/codeship-basic.sh > codeship.sh
      
      ## Make it executable
      chmod +x codeship.sh
  • Test Command
    • The curl command you pass in can be customized to run any supported load test with your own configuration of cloud load agents.
    • ## Execute Script and pass in CURL command to run test.
      ## Note the escaped quotes to properly pass in the command
      ./codeship.sh 'curl -s https://www.redline13.com/Api/LoadTest -H \"X-Redline-Auth: ${REDLINE_API_KEY}\" -F testType=jmeter-test -F name=CodeShipAndRedLine13 -F \"file=@`pwd`/tests/Plexify.jmx\" -F numServers=1 -F storeOutput=T -F servers[0][location]=us-east-1 -F servers[0][size]=m3.medium -F servers[0][num]=1 -F servers[0][onDemand]=T -F servers[0][usersPerServer]=1'

3. Converting existing load test into a Codeship Load Test

  • Goto the report page for any load test
  • Click the Export button
  • Select the CI system you would like to export to.

4. Here is what it looks like in Codeship when your job builds

  • You can see results and progress on the test running.

 

Happy testing.

 

 

Comments are closed.