Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Greenkeeper – managing dependencies with confidence

Greenkeeper – managing dependencies with confidence

Stephan Bönnemann

August 05, 2016
Tweet

More Decks by Stephan Bönnemann

Other Decks in Technology

Transcript

  1. Greenkeeper
    managing dependencies with confidence
    @boennemann ● greenkeeper.io

    View full-size slide

  2. there are a lot of modules
    @boennemann ● greenkeeper.io

    View full-size slide

  3. @boennemann ● greenkeeper.io

    View full-size slide

  4. there are a lot of modules
    @boennemann ● greenkeeper.io

    View full-size slide

  5. there are a lot of modules
    they are constantly changing
    @boennemann ● greenkeeper.io

    View full-size slide

  6. @boennemann ● greenkeeper.io

    View full-size slide

  7. there are a lot of modules
    they are constantly changing
    @boennemann ● greenkeeper.io

    View full-size slide

  8. there are a lot of modules
    they are constantly changing
    and that’s a good thing
    @boennemann ● greenkeeper.io

    View full-size slide

  9. Greenkeeper is
    $ npm outdated
    as a service
    — Laurie Voss, COO npm Inc.
    @boennemann ● greenkeeper.io

    View full-size slide

  10. Stephan
    @boennemann
    @boennemann ● greenkeeper.io

    View full-size slide

  11. @boennemann ● greenkeeper.io

    View full-size slide

  12. @boennemann ● greenkeeper.io

    View full-size slide

  13. @boennemann ● greenkeeper.io

    View full-size slide

  14. @boennemann ● greenkeeper.io

    View full-size slide

  15. npm.im/seman*c-release
    @boennemann ● greenkeeper.io

    View full-size slide

  16. yaay, lodash1 pushed a new major version !
    1 or tap, standard, hapi, pouchdb or any of the other 300k modules
    @boennemann ● greenkeeper.io

    View full-size slide

  17. yaay, lodash1 pushed a new major version !
    well actually…
    1 or tap, standard, hapi, pouchdb or any of the other 300k modules
    @boennemann ● greenkeeper.io

    View full-size slide

  18. @boennemann ● greenkeeper.io

    View full-size slide

  19. @boennemann ● greenkeeper.io

    View full-size slide

  20. Christoph2,
    we need to automate this
    2 @christophwitzko
    @boennemann ● greenkeeper.io

    View full-size slide

  21. we just need npm updates
    @boennemann ● greenkeeper.io

    View full-size slide

  22. skimdb.npmjs.com
    @boennemann ● greenkeeper.io

    View full-size slide

  23. we just need npm updates
    and a way to simply create PRs
    @boennemann ● greenkeeper.io

    View full-size slide

  24. @boennemann ● greenkeeper.io

    View full-size slide

  25. npm.im/github-change-remote-file
    @boennemann ● greenkeeper.io

    View full-size slide

  26. @boennemann ● greenkeeper.io

    View full-size slide

  27. @boennemann ● greenkeeper.io

    View full-size slide

  28. @boennemann ● greenkeeper.io

    View full-size slide

  29. @boennemann ● greenkeeper.io

    View full-size slide

  30. @boennemann ● greenkeeper.io

    View full-size slide

  31. out-of-range update
    @boennemann ● greenkeeper.io

    View full-size slide

  32. "lodash": "1.0.0"
    @boennemann ● greenkeeper.io

    View full-size slide

  33. "lodash": "1.0.0"
    @boennemann ● greenkeeper.io

    View full-size slide

  34. "lodash": "~1.0.0"
    @boennemann ● greenkeeper.io

    View full-size slide

  35. "lodash": "^1.0.0"
    @boennemann ● greenkeeper.io

    View full-size slide

  36. "lodash": "^1.0.0"
    @boennemann ● greenkeeper.io

    View full-size slide

  37. Schrödinger’s app
    @boennemann ● greenkeeper.io

    View full-size slide

  38. @boennemann ● greenkeeper.io

    View full-size slide

  39. @boennemann ● greenkeeper.io

    View full-size slide

  40. @boennemann ● greenkeeper.io

    View full-size slide

  41. @boennemann ● greenkeeper.io

    View full-size slide

  42. @boennemann ● greenkeeper.io

    View full-size slide

  43. @boennemann ● greenkeeper.io

    View full-size slide

  44. @boennemann ● greenkeeper.io

    View full-size slide

  45. in-range update
    @boennemann ● greenkeeper.io

    View full-size slide

  46. @boennemann ● greenkeeper.io

    View full-size slide

  47. @boennemann ● greenkeeper.io

    View full-size slide

  48. $ npm i -g greenkeeper
    @boennemann ● greenkeeper.io

    View full-size slide

  49. $ greenkeeper login
    @boennemann ● greenkeeper.io

    View full-size slide

  50. $ cd projects/cool-module
    $ gk enable
    @boennemann ● greenkeeper.io

    View full-size slide

  51. @boennemann ● greenkeeper.io

    View full-size slide

  52. app.greenkeeper.io
    @boennemann ● greenkeeper.io

    View full-size slide

  53. @boennemann ● greenkeeper.io

    View full-size slide

  54. @boennemann ● greenkeeper.io

    View full-size slide

  55. too much noise
    @boennemann ● greenkeeper.io

    View full-size slide

  56. @boennemann ● greenkeeper.io

    View full-size slide

  57. use version ranges
    @boennemann ● greenkeeper.io

    View full-size slide

  58. use version ranges
    have a solid test-suite
    @boennemann ● greenkeeper.io

    View full-size slide

  59. use version ranges
    have a solid test-suite
    let Greenkeeper do the chores
    @boennemann ● greenkeeper.io

    View full-size slide

  60. use version ranges
    have a solid test-suite
    let Greenkeeper do the chores
    (ask authors to) use beta dist-tags
    @boennemann ● greenkeeper.io

    View full-size slide

  61. npm install lodash
    @boennemann ● greenkeeper.io

    View full-size slide

  62. npm install lodash
    @boennemann ● greenkeeper.io

    View full-size slide

  63. npm install lodash@latest
    @boennemann ● greenkeeper.io

    View full-size slide

  64. npm publish --tag=latest
    @boennemann ● greenkeeper.io

    View full-size slide

  65. npm dist-tag add [email protected] latest
    @boennemann ● greenkeeper.io

    View full-size slide

  66. npm publish --tag=beta
    @boennemann ● greenkeeper.io

    View full-size slide

  67. bit.ly/dist-tags
    @boennemann ● greenkeeper.io

    View full-size slide

  68. don’t shoot the messenger4
    4 or anyone really
    @boennemann ● greenkeeper.io

    View full-size slide

  69. don’t shoot the messenger4
    help appreciated
    4 or anyone really
    @boennemann ● greenkeeper.io

    View full-size slide

  70. wri$ng so#ware
    is embracing change
    @boennemann ● greenkeeper.io

    View full-size slide

  71. Greenkeeper makes
    that change visible
    @boennemann ● greenkeeper.io

    View full-size slide

  72. Thank you,
    ! Cascadians !
    @boennemann ● greenkeeper.io

    View full-size slide