I have springboot monorepo with almost 5 libraries & 5 services,
I have used trunkbased model(master & release) for this repo inorder to implement Continous Delivery
The following builds are configured on master branch
CI Build Build the artifact whatever changed - -> QualityCheck > artifact(.jar) -> Deploy to Development Env
Nightly build Build all libraries & services -> QualityCheck -> Deploy all jar's into QA environment
Once we are ready to release, we will create a release branch from master
Again for release branch I am running the release build with the steps same as in Nightly build.
Release build Build all libraries & services -> QualityCheck -> Deploy all jar's into PROD environment
The Concerns that I have is
- Is this right branching model for monorepo to achive continious delivery in PRODUCTION ENV?
- The Nightly build is taking long time almost two hours to complete deployments of all services into QA ENV, not sure why I am deploying all services into QA even there is no changes?
- For relase branch why again I need to run all the build steps same as nightly build since its taking long time, is there anyways to deploy production fastly?