Giter Club home page Giter Club logo

dependency-integrator's Introduction

Dependency Integrator

Continuous Delivery in the real world

When you make a change to code in the jar, you usually increment the version and generate a new jar. This jar is then consumed by some downstream dependency that needed the new feature to deliver some functionality in production. Since one of the main reason for existence of jars is to share functionality, what happens to other components that also depend on the changed jar? Do they get the new version? How do you ensure that the new version works for them? At the heart of Jez Humble's Continuous Delivery system is an algorithm for integrating changes into a system of dependent components.[1] It is vaguely described and, to date, no open source implementation has been published. This project explores what it takes to build such a system aimed at integrating your jar network.

Below you can see an example of a dependency tree that dependency-integrator can automatically keep up-to-date. Each vertex represents a jar and each red edge represents a dependency that is not up to date. Additionally, blue edges indicate a cyclic dependency.

dependency hierarchy screenshot

You can follow progress on the blog. This has also been presented at 2015 Strange Loop.


[1] Chapter 13, Dependency Management. Humble, Jez. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Signature Series. 2010

dependency-integrator's People

Contributors

pslusarz avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.