Software Delivery Pipeline. CI/CD
- Introduction
- CI/CD Continuous Integration and Continuous Delivery
- CI/CD Pipelines With Kubernetes
- Observability
- Code Review
- Security in CI/CD
- Progressive Delivery
- Deployment Strategies
- Pipeline Patterns
- CI/CD with Kubernetes
- CI/CD with OpenShift
- CI/CD with AWS
- Reports on the Enterprise CI/CD Market
- Tools
- Awesome Lists
- Images
- Videos
- Tweets
Introduction
- opensource.com: What is CI/CD?
- Wikipedia.org: DevOps
- Wikipedia.org: Continuous Integration
- Wikipedia.org: Continuous Delivery
- martinfowler.com: Continuous Integration (original version)
CI/CD Continuous Integration and Continuous Delivery
- DZone: Continuous Integration: Servers and Tools Learning to Utilize DevOps with Servers and Tools
- sdtimes.com: CI/CD pipelines are expanding π The βbasicβ CI/CD pipeline includes five processes, which are: merge, build, test, package and deploy. All of these are individually defined so readers have a common reference point. The basic pipeline includes sub-pipelines associated with each step, such as moving artifacts from a build into a repository.
- devopsonline.co.uk: ChatOps, DevOps, ScrumOps and 5 Other Ops religions
- opensource.com: A beginner’s guide to building DevOps pipelines with open source tools If you’re new to DevOps, check out this five-step process for building your first pipeline.
- acloud.guru: How youtr org predicts your CI/CD pipeline
- dev.to: CI/CD Continuous Integration & Delivery Explained ππ
- mindtheproduct.com: The Product Managersβ Guide to Continuous Delivery and DevOps ππ
- tech.buzzfeed.com: Continuous Deployments at BuzzFeed
- Dzone refcard: Continuous Delivery - Patterns and Anti-Patterns in the Software Lifecycle π
- infoworld.com: What is CI/CD? Continuous integration and continuous delivery explained The CI/CD pipeline is one of the best practices for devops teams to implement, for delivering code changes more frequently and reliably
- devops.com: How to Implement an Effective CI/CD Pipeline
- ammeon.com: 5 Tips For Building A CI/CD Pipeline
- medium: What is CI/CD Pipeline in DevOps? ππ Understanding the Importance of CI/CD Pipeline.
- aws.amazon.com: Automating safe, hands-off deployments ππ
- techuz.com: What is CI/CD? An Introduction to Continuous Integration, Continuous Deployment and CI/CD Pipeline
- kodekloud.com: What is CI/CD Pipeline in DevOps CI/CD plays an important role in your DevOps implementation path. Here are some important things to consider while building a CI/CD pipeline:
- Peer code review
- Build in a containerized environment
- Shorten the feedback loop
- Do CI first
- Compare efficiency
- Insert security checkpoints in the pipeline
- Implement an easy way to rollback
- Proactively monitor your CD pipeline
- medium: How to build an efficient CI/CD pipeline ππ
- Asking for Help Is a Best Practice When Building a CI/CD Pipeline
- developers.redhat.com: The present and future of CI/CD with GitOps on Red Hat OpenShift
- dewanahmed.com: When to go k8s-native - A tale of CI/CD servers
- CI/CD Best Practices π
- harness.io: What is a CI/CD Platform and why should I care? π
- harness.io: 3 Ways to Use Automation in CI/CD Pipelines
- cloudbees.com: 7 Tips for Creating A Successful CI/CD Pipeline π
- dzone: CI/CD Pipeline: Demystifying The Complexities Get a high-level overview of CI/CD pipelines and the components that make up a DevOps process, and some of the challenges and benefits of a CI/CD pipeline.
- javi-kata.medium.com: CI/CD the journey of a dummy team π This article tries to help people in how to achieve CI/CD starting from a feature branching model (gitflow).
- thinkinglabs.io: Feature Branching considered evil π
- tripwire.com: Everything You Need to Know About CI/CD and Security
- harness.io: CI/CD Pipeline: Everything You Need to Know π
- stackoverflow.blog: Fulfilling the promise of CI/CD π When people say βCI/CD,β they are only talking about continuous integration. Nobody is talking about (or practicing) continuous deployment. AT ALL. Itβs like we have all forgotten it exists. It’s time to change that.
- Top 5 CI/CD best practices for 2021 π
- harness.io: What is Continuous Integration? π
- cd.foundation: 2021 Technology Trends and Predictions
- opsmx.com: What is a CI/CD Pipeline ?
- continuousdelivery.com: Patterns π
- devops.com: 7 Popular Open Source CI/CD Tools
- testguild.com: Pipeline as Code with Mohamed Labouardy
- harness.io: Understanding the Phases of the Software Development Life Cycle
- cloudbees.com: Key Components of a CI/CD Pipeline
- blog.thundra.io: Why a CI/CD Pipeline Makes Good Business Sense
- jfrog.com: Cloud Native CI/CD: The Ultimate Checklist
- jfrog.com: How to Accelerate Software Delivery with Hybrid Cloud CI/CD (e-commerce) π
- harness.io: Streamlining CI/CD and Optimizing AWS Cloud Spend
- sdtimes.com: The State of CI/CD βA few years ago, CI/CD started off as a method to help continuous deployment, but that definition of CI/CD is long defunct. CI/CD now has QA and security elements to it. We may have seen people refer to the current trend as DevSecOps. In my mind, DevSecOps is changing to be Dev-Infra-Sec-Ops (infrastructure-as-a-service) and will soon be called βDev-Infra-Sec-Analytics-Ops (including analytics-as-a-service). One day the trend of CI/CD will eventually lead to touchless software development and maintenance. We are on the brink of major efficiency shift in the industry now and AI/ML and LCNC [low code/no code] technologies are enabling this shift.β
- javacodegeeks.com: The Case Against CI/CD Whatβs the Point of CI/CD?
- thenewstack.io: Improve Dev Experience to Maximize the Business Value of CD
- community.dataminer.services: CI/CD and the Agile Principles
- medium: Automated Build and Deploy Pipelines for Kubernetes
- medium: Next Generation Kubernetes Deployments
- levelup.gitconnected.com: Basics of CI/CD
- techrepublic.com: CI/CD platforms: How to choose the right continuous integration and delivery system for your business
- stackoverflow.blog: Fulfilling the promise of CI/CD When people say βCI/CD,β they are only talking about continuous integration. Nobody is talking about (or practicing) continuous deployment. AT ALL. Itβs like we have all forgotten it exists. It’s time to change that.
- speakerdeck.com: Deployment Scripting != Continuous Delivery
- lambdatest.com: Top 10 CI/CD Pipeline Implementation Challenges And Solutions
- devopsdigest.com: CI/CD Deployments: How to Expedite Across a Kubernetes Environment With DevOps Orchestration
- medium.com/softwareimprovementgroup: CI/CD best practices: How to set up your pipeline
- medium.com/dynatrace-engineering: How to combine and automate infrastructure and application deployment in a microservice environment A collection of best practices to improve your confidence in your deployed applications.
- thenewstack.io: 4 Best Practices to Drive Successful Adoption of CI/CD
- about.gitlab.com: How to keep up with CI/CD best practices
- harness.io: Modern Software Delivery Best Practices & Software Delivery Management
- linkedin pulse: Enabling CI/CD to Boost DevOps | Pavan Belagatti
- about.gitlab.com: How to learn CI/CD fast
- thenewstack.io: Are Monolith CI/CD Pipelines Killing Quality in Your Software? This creates complex challenges for developers trying to push commits with confidence and DevOps teams responsible for fine-tuning their pipelines.
- clickittech.com: CI/CD Best Practices: Top 10 Practices for Financial Services
- medium.com/@rifkikarimr: Continuous Integration and Continuous Deployment: Best Practices for DevOps π Explore the basics of CICD. What they’re, why theyβre important, how to set up CI/CD pipeline, the best practices for CI/CD, and how to overcome common challenges
- guru99.com: CI/CD Pipeline: Learn with Example πππ CICD automates the process of app delivery. It builds code, runs tests, helps to safely deploy new version of the app. It reduces manual errors, provides feedback, and allows fast product iterations.
- dzone.com: How To Build an Effective CI/CD Pipeline This article leads you through an exploration of practical steps for creating pipelines that accelerate deployments.
- groundcover.com: Cloud-native CI/CD? Yeah, thatβs a thing π Discover how leveraging CI/CD pipelines based on Kubernetes gives organizations improved control and more efficient management, allowing for faster recovery and replication of runtime environments.
- spacelift.io: Kubernetes CI/CD Pipelines β 7 Best Practices and Tools | James Walker π CICD pipelines enhance app delivery process by automating key stages like testing, security scanning, and deployment. Adopting pipeline-based workflow helps to ship more quickly.
- thenewstack.io: Embracing Database Deployments in CI/CD Practices with Git Databases have not been well integrated into the CI/CD tooling landscape, but applying git-like concepts can help.
- hart-michael.medium.com: Why You Need Continuous Deployment
CI/CD Pipelines With Kubernetes
- dzone.com: An Overview of CI/CD Pipelines With Kubernetes Take a look at CI/CD approaches in a Kubernetes ecosystem, best practices for implementing an efficient CI/CD framework, and popular open-source CI/CD tools.
- thenewstack.io: Kubernetes CI/CD Pipelines Explained Building an effective CI/CD pipeline requires diligent technical analysis, a generous amount of planning and choosing the right set of tools.
Observability
Code Review
Security in CI/CD
- CI Checks Are Not Enough: Combat Configuration Drift in Kubernetes Resources
- devops.com: 8 Security Considerations for CI/CD
Progressive Delivery
- split.io: Progressive Delivery
- harness.io: Progressive Delivery: Everything You Need to Know
- weave.works: Progressively Delivering Applications Across Cloud and On-Premise. Using Kuma & GitOps to implement canary releasing
Deployment Strategies
- blog.container-solutions.com: Deployment Strategies π
- It really depends on the needs and budget. When releasing to development/staging environments, a recreate or ramped deployment is usually a good choice. When it comes to production, a ramped or blue/green deployment is usually a good fit, but proper testing of the new platform is necessary.
- Blue/green and shadow strategies have more impact on the budget as it requires double resource capacity. If the application lacks in tests or if there is little confidence about the impact/stability of the software, then a canary, a/b testing or shadow release can be used. If your business requires testing of a new feature amongst a specific pool of users that can be filtered depending on some parameters like geolocation, language, operating system or browser features, then you may want to use the a/b testing technique.
- Last but not least, a shadow release is complex and requires extra work to mock egress traffic which is mandatory when calling external dependencies with mutable actions (email, bank, etc.). However, this technique can be useful when migrating to a new database technology and use shadow traffic to monitor system performance under load.
- harness.io: Intro to Deployment Strategies: Blue-Green, Canary, and More π
- medium: Continuous Kubernetes blue-green deployments on Azure using Nginx, AppGateway or TrafficManager β part 2
- gitconnected.com: Blue-Green with Canary Deployment β A Novel approach
- semaphoreci.com: Continuous Blue-Green Deployments With Kubernetes π
- cd.foundation: Intro to Deployment Strategies: Blue-Green, Canary, and More π
- opsmx.com: What is Blue Green Deployment ?
- devopslearners.com: Blue-Green vs Canary Deployment
- youtube: Kubernetes Deployment Strategies | DevOps FAQ | DevOps DevOps Interview Q&A
Pipeline Patterns
- harness.io: Pipeline Patterns for CI/CD Pipelines π Button Push Pattern, Test Automation Pattern, Full Approval Pattern.
CI/CD with Kubernetes
- blog.sonatype.com: Achieving CI and CD With Kubernetes π
- Devtron Labs: Devtron provides a ‘seamless,β ‘implementation agnostic uniform interface’ across Kubernetes Life Cycle integrated with most Opensource and commercial tools
- thenewstack.io: 7 features that make kubernetes ideal for CI/CD
- thenewstack.io: CI/CD with kubernetes π
- harness.io: Kubernetes CI/CD Best Practices With all of the benefits that Kubernetes has, having good CI/CD practices is key. Kubernetes did not magically erase the discipline that your CI/CD journey has taken you on before Kubernetes. Leverage Kubernetesβs strengths to further your CI/CD journey.
CI/CD with OpenShift
CI/CD with AWS
- mediatemple.net: Cloud-Native CI/CD Workflows in AWS: 3 Use Cases
- trek10.com: Enterprise CI/CD on AWS: a pragmatic approach How can we work within the constraints of a large organization to develop CI/CD flows that help us deploy applications quickly, safely, and accountably on AWS?
Reports on the Enterprise CI/CD Market
- GigaOm’s Radar for Enterprise CI/CD π is a must-see report for any DevOps enthusiast. The goal of an end-to-end Continuous Integration/Continuous Delivery (CI/CD) pipeline is to deliver software-based innovation and business value at both speed and scale. CI/CD plays a very important role in the company’s DevOps journey. Keeping several factors in mind, Gigaom has come up with it’sown research and presented who leads and who lags in the CI/CD market.
Tools
- plutora.com: Artifacts management tools
- cloudbees.com: Continuous Delivery Tools: The 5 You Absolutely Need to Know in 2021
- dzone: DevOps: CI/CD Tools to Watch Out for in 2022 CI/CD is an integral part of any successful DevOps team. This list includes the finest CI/CD tools currently available in the market.
- betterprogramming.pub: When Should You Self-Host CI Tools? | William Anderson How to decide whether you should self-host, go with a SaaS option, or bundle your choice of CI tool through a vendor
Awesome Lists
Images
Videos
Click to expand!
Tweets
Click to expand!
CI/CD is a must-know in DevOps.
— Nikki Siapno (@NikkiSiapno) January 30, 2023
Here's a dead simple guide to understanding it: