
"We built a shared automation library in Kotlin using Gauge as the test runner. We replaced shell and kubectl commands with the Fabric8 Kubernetes client, which gave us more control and less flakiness. We also automated environment provisioning with Ansible and Terraform, so tests always run in reproducible conditions. In Jenkins, we wired up these tests to run automatically, with results posted to Slack and visualized in Grafana."
"They started with a pilot project on a non-critical service to prove the concept, and built a library of reusable steps so engineers wouldn't have to reinvent the wheel, Yushinsky said. Next, they shared successes in internal demos, and gradually moved more services under the framework. They also automated the reporting so everyone could see test outcomes in real time on Slack and dashboards, which created trust in the system"
Testing was fragmented across bash scripts, kubectl commands, and SSH-based checks, producing brittle, flaky tests and high maintenance overhead. Environments drifted, causing tests to pass in one environment but fail in another, and end-to-end checks produced multi-hour feedback loops. A shared Kotlin automation library using Gauge and the Fabric8 Kubernetes client replaced shell and kubectl operations, reducing flakiness. Environment provisioning was automated with Ansible and Terraform to ensure reproducible test conditions. Tests were integrated into Jenkins with Slack notifications and Grafana dashboards. A pilot project, reusable step library, internal coaching, and automated reporting increased developer participation, ownership, and release speed.
Read at InfoQ
Unable to calculate read time
Collection
[
|
...
]