Más contenido relacionado
La actualidad más candente (20)
Similar a Agile Network India | Understanding the importance of a full featured CI/CD pipeline | Apurva Saxena (20)
Agile Network India | Understanding the importance of a full featured CI/CD pipeline | Apurva Saxena
- 3. Background
Background of our Use Case.
Background on Build, Deployment and IT Operations for us.
Migrating to Cloud.
What we thought of DevOps and CI/CD pipeline when we initially started using these terms in
2016.
© 2021 Apurva Saxena
- 4. Problems
Engineers committing to
master without testing
their code.
Backward compatibility. Quality gates.
Stability of multiple
environments.
Promotion from one
environment to another
takes hours if not days.
Demos effects Sprint
tasks and energy of
Engineers.
Multiple Jenkins and
Spinnaker jobs to be
maintained.
Multiple tools to be
maintained.
Lot of resources are
required to manage all
of this manual work.
One bad commit could
halt development for
everyone.
© 2021 Apurva Saxena
- 5. What was our expectations?
CI should be like running water.
Quality gates should stop all bad code before merge to master.
Backward compatibility should be maintained by Automated test scripts.
There should be daily upgrades to our Prod environment via CD.
Engineers should not be bothered about Deployments to multiple environments or customers.
Each Engineer should have their own developer environment.
Model should be flexible and able to support for at least next 5 years and multiple clouds.
© 2021 Apurva Saxena
- 7. Decisions
Why we moved to GCP.
Why we removed Spinnaker from our new pipeline.
Why we kept Jenkins at heart of our CI/CD/CT pipeline.
Why we chose Git flow vs GitHub flow for Branching strategy.
Why we decided to keep just one Jenkins job for CI of all repositories.
Why we added merge check for pull requests.
Why we added Database scripts with same code repository.
Why we moved Configurations to database.
© 2021 Apurva Saxena
- 8. Developer Environment
A fully functional on-demand environment in
GKE for each Engineer.
Ability to do anything in that environment
without hampering work for anyone else.
Managed by Jenkins jobs so that not all
Engineers have to learn K8s.
© 2021 Apurva Saxena