CI/CD pipelines
Language:
Python
Groovy
Frameworks:
Flask + RESTPlus
Celery
Locust (load testing)
flake8 (linting)
black (code format)
CI:
Jenkins pipelines
Docker Compose Jenkins agents
2017 - 2019
I set up a number of CI/CD pipelines at Oracle related to different projects. For example a testing pipeline for service monitoring tools, which runs lint then unit and integration tests against MRs for the tools. Using a Jenkins pipeline to run up the infrastructure with docker compose on Jenkins build agents.
Once that pipeline completes, it triggers a separate stress test pipeline to detect any performance degradation. The stress test pipeline takes a while to test both the web and asynchronous code. So it is not used to pass / fail the MR but summary plots of each builds performance are created as well as detailed performance build artifacts.
The image shows, on the bottom graph, an example of a degradation and subsequent fix for the asynchronous tasks performance.