How to Ship Updates to 40+ Apps Every Week With Nx

code red code red

At Celonis we use Angular and Nx for monorepo and ship updates to more than 40+ apps, which have 2 million lines of code, and we are adding more apps and libraries as we go. 

Maintaining this huge codebase is a challenge, especially when you need to ship updates to them every week. More challenges come with a codebase this big; you may need new tools in your codebase, and new tools are released every week. What if you need to do a Proof of Concept, add a new Angular App, or update a new version of Angular or tooling like Cypress, Playwright, or Jest?

But we also get around 100 PRs per day from more than 30 teams contributing to the codebase; for each PR, we need to Run Unit Test, build, Component Test, User Journey test, and lint.

A new feature can break your application: how do you plan your release rollback shipping new features with confidence? But it can cause new features/ bug fixes to be rolled back from other apps; feature flags are an answer, but how can it be done in a codebase this big?

In this talk, we explore the world of Nx, where we can build, test, and deploy 40+ apps every week with the help of Nx. You will learn about: 

  • Maintaining a huge Angular code base

  • CI/CD

  • Release strategy

  • Feature Flags

  • Introducing new tools to the codebase 


Speaker

Santosh Yadav

Senior Software Engineer @Celonis, Co-Founder of This is Learning, a GDE for Angular, GitHub Star, and Nx Champion

Santosh is a Senior Software Engineer at Celonis, a GDE for Angular, GitHub Star, Nx Champion. He loves contributing to Angular and its ecosystem. He is a co-founder of This is Learning. He is also the author of the Ngx-Builders package and part of the NestJsAddOns core Team. He is also running This is Tech Talks talk show, where he invites industry experts to discuss different technologies.
 

Read more
Find Santosh Yadav at: