Continuous Integration / Continuous Delivery pipeline : Few examples

This is the collection of multiple scenarios of CI / CD implementations in different projects.. Each of the scenario has a pros and cons which is not discussed or talked about it here. Intent of this article is to share few of the scenarios (as-is) implemented. Few changes including terminology has been made to ensure flows are fairly consistent and comparable as much as possible.

Continuous Integration (CI): short-lived feature branches, team is merging to master branch multiple times per day, fully automated build and test process which gives feedback within 10 minutes; deployment is manual..

Continuous Delivery (CD): CI + the entire software release process is automated, it may be composed of multiple stages, and deployment to production is manual.

Continuous Deployment: CI + CD + fully automated deployment to production.

[Source: Link]

Pipeline for one team CI /CD / CT

Scenario : Development and delivery by an independent product development team (Pipeline – Dev, unit test, performance test)

ci1

Pipeline for Feature based CI/CD

  • Scenario : Feature based development teams (Pipeline – Dev, unit test, integrate test)
ci2

Pipeline for CI/CD by two different organizations

  • Scenario : Two projects require common deply to prod (Pipeline – Dev, Unit Test, Testing, Pre-Prod)
ci3

Continuous Integration for Release by multi team development

  • Scenario : Daily deploy to integration, weekly deploy to pre-prod and monthly deploy for prod
ci4

CI /CD Pipeline for parallel development

  • Scenario : Parallel Development (Pipeline: Daily deploy to integration, weekly deploy to pre-prod and monthly deploy for prod)
ci5

Few points on increasing the effectiveness of the CI pipeline / designs

  • Traceable versions of the packages from change sets to versions in various environment – dev, test, pre-prod.
  • Output of each of the stage triggers appropriate feedback alerts, as appropriate
  • Hand off between the stages are understood / documented
  • Manual gate review steps are documented
  • First step automating the nightly builds and automating tests ; Second step automating the deployments ; Third step automating performance, functional testing

References for further reading on implementing through Jenkins or Bamboo.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s