Introducing Lifecycle
We started building Lifecycle at GoodRx in 2019 because managing our lower environments like staging, development, QA had become a daily headache. As our architecture shifted from a monolith to microservices, our internal channels were flooded with messages like “Is anyone using staging?” “Staging is broken again,” and “Who just overwrote my changes?” Waiting in line for hours (sometimes days) to test code in a real-world-like environment was the norm.
We simply couldn’t scale with our engineering growth. So, as a proof of concept, we spun up Lifecycle: a tool that lets you create on-demand, ephemeral environments off of github pull request.
At first, only a handful of services were onboarded, but our engineers immediately saw the difference, no more static staging servers, no more pipeline gymnastics, and no more accidental overwrites. They wanted Lifecycle wherever they touched code, so we built a simple lifecycle.yaml configuration, replaced our manual database entries, and baked Lifecycle support into every new service template.
After ironing out early scaling kinks, we realized Lifecycle had become more than an internal convenience, it was a game-changer for us.
Today (June 5, 2025), we’re thrilled to open-source five years of collective effort under the Apache 2.0 license. This project represents countless late-night brainstorming sessions, pull requests, and “aha” moments, and we can’t wait to see how you’ll make it your own: adding integrations, optimizing performance, or finding novel workflows we never imagined.
By sharing Lifecycle, we hope to help teams stuck in the same limited environment limbo we once were and build a community of passionate likeminded developers who’ll shape the the future of Lifecycle.
We look forward to learning from you, growing together, and making shipping high-quality software faster and more enjoyable for everyone!
Join our Discord server here to connect!!