K6 LoadTest Automation
This repo is a demo for the integration of k6 loadtesting in GitHub and Azure DevOps, using both native k6 actions and custom scripts for leveraging Azure Cloud.
The APIs
There is a demo API project, using minimal API available in .NET 6 preview. This APIs offers a 'Hello World' endpoint (BASE_URL/fastapi). For demo pursposes, we'll try to deploy a second endponit (BASE_URL/slowapi) which has a Thread.Sleep(1000)
to force a negative result in the load tests.
CI/CD
The pipeline builds the project and deploys it to a staging environment on Azure. Then it uses k6 to laod test the APIs and if the set thresholds are satisfied, it swaps the slots.