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

Popular posts from this blog

MS - Testing

Why no code platform?