The real difference between CI and CD - Fire CI


9 bookmarks. First posted by patcoll 4 days ago.


The scenario we want to avoid is that a faulty commit makes it to the main branch. ... The problem is that your entire team is stuck. All the developers who pulled the faulty commit will spend 5 minutes wondering why it doesn’t work. Several will probably try to find the faulty commit. Some will try to fix the issue by themselves in parallel of the faulty code author. This is a waste of time for your team. The worst part is that repeated incidents fuel a mistrust of the main branch and encourage developers to work apart. Continuous Integration is all about preventing the main branch of being broken so your team is not stuck.

...

Continuous Delivery is about being able to deploy any version of your code at all times. ... The idea of Continuous Delivery is to prepare artefacts as close as possible from what you want to run in your environment. ... A common misconception is to see CD as a horizontal scalability problem like CI: the faster you can move from code to artefacts, the more commits you can actually process, and the closer to the ideal scenario you can be. But we don’t need that. Producing artefacts for every commit and as fast as possible is usually overkill.
@Article  @Concept  @Comparison  Software  Engineering  SourceCodeManagement  Teamwork  Productivity  Integration  InterpersonalCommunication  TDD  AttentionManagement  Feedback-receiving  Balance  Scalability  Trustworthiness  GroupActivity 
4 days ago by jslu
Continuous Integration is a "horizontal", or parallel scaling problem. You do it because you don't want any of your many developers to be blocked. Keep tests light and fast, but also sufficient to cover the core of the deliverable.

Continuous Deployment is a "vertical" or serial scaling problem. You have one complex process that needs to be completed before moving on. The individual tests may run in parallel, but the structure is still essentially sequential. You do it because you want as much assurance as possible that your final product is fit for its intended purpose. These are the "kitchen sink" checks: unit, integration, end-to-end, upgrade, performance, everything.
process  qa  swdev 
4 days ago by dogrover