MS - deployment aka CI/CD
CI: All newly checked-in code properly integrates with existing code
- branch out->checkout->code->verify code(compiles)->UT->checkin->PR->merge->branch merge->build->binary to repository
- Run it periodically-daily(recommended)/few time in week/weekly
- Test suite and run with every new build
- Repo options:
- Single monolithic repo->single build all code(all MS)->multiple binary: single team responsible for all code
- Single monolithic repo->Multiple build one per MS->multiple binary one per MS: multiple team responsible for their code
- Multiple repo one per MS->one build per MS->one binary per MS: multiple team responsible for their code
- CI options
- Automated and triggers with each code checkin
- Manual, periodic based on teams agreement
CD
- Single platform and OS scenario:
- Multi platform and OS scenario: Automate
- Approach
- Base VM->deploy platform->add custom configuration for service->deploy service artefact
- Create custom image(image as artefacts)->deploy service artefact
- Dependencies
- Platform specific artefacts
- OS specific artefacts
- Custom VM images
- Keep like to like from Dev->build->QA->Perf->UAT->Prod
- Keep configuration out of code and push config during deploy
Comments
Post a Comment