Automate your changelogs! Release Drafter

Automate your changelogs! Release Drafter

Quick introduction to Release Drafter and to automatic changelog generation from the DevOops 2019 conference. The talk summarizes our experience in the Jenkins projects and provides some tips and tricks.

See more documentation here: https://github.com/jenkinsci/.github/blob/master/.github/release-drafter.adoc

568e3391c8b528f2b255443e4cca27ca?s=128

Oleg Nenashev

October 29, 2019
Tweet

Transcript

  1. © 2019 CloudBees, Inc. All Rights Reserved. Automate your changelogs!

    Release Drafter Oleg Nenashev (@oleg_nenashev) CloudBees / Jenkins Project St. Petersburg, Oct 29, 2019
  2. © 2019 CloudBees, Inc. All Rights Reserved. > whoami 2

    @oleg_nenashev oleg-nenashev • Based in Neuchatel, Switzerland • Principal SW Engineer, CloudBees • Jenkins core maintainer
  3. © 2019 CloudBees, Inc. All Rights Reserved. Do you write

    changelogs? 3
  4. © 2019 CloudBees, Inc. All Rights Reserved. But your users

    need them! 4
  5. © 2019 CloudBees, Inc. All Rights Reserved. • jenkins.io Changelogs

    in Jenkins 5
  6. © 2019 CloudBees, Inc. All Rights Reserved. • jenkins.io •

    Jenkins Wiki Changelogs in Jenkins 6
  7. © 2019 CloudBees, Inc. All Rights Reserved. • jenkins.io •

    Jenkins Wiki • CHANGELOG.md in repo • GitHub Releases • Changelogs elsewhere • No changelogs Changelogs in Jenkins 7
  8. © 2019 CloudBees, Inc. All Rights Reserved. 8

  9. © 2019 CloudBees, Inc. All Rights Reserved. • jenkins.io •

    Jenkins Wiki • CHANGELOG.md on GitHub • GitHub Releases • Changelogs elsewhere • No changelogs At Jenkins… 9
  10. © 2019 CloudBees, Inc. All Rights Reserved. 10

  11. © 2019 CloudBees, Inc. All Rights Reserved. 11 • Created

    by Tim Lucas, @toolmantim • Open-source: https://github.com/toolmantim/release-drafter • Based on the Probot framework • GitHub App: https://github.com/apps/release-drafter • GitHub Actions Step
  12. © 2019 CloudBees, Inc. All Rights Reserved. Release Drafter –

    Powered by pull request titles and labels 12
  13. © 2019 CloudBees, Inc. All Rights Reserved. • GitHub Release

    Drafts • Markdown format • Configuration as Code Release Drafter 13
  14. © 2019 CloudBees, Inc. All Rights Reserved. .github/release-drafter.yml Minimal configuration

    14
  15. © 2019 CloudBees, Inc. All Rights Reserved. Editable Markdown layout

    15 // Injecting YAML changelogs into Markdown
  16. © 2019 CloudBees, Inc. All Rights Reserved. Categories, powered by

    labels 16
  17. © 2019 CloudBees, Inc. All Rights Reserved. Replacers 17 Hyperlinks

    Acronyms
  18. © 2019 CloudBees, Inc. All Rights Reserved. • Uses Probot

    Config engine, powered by deepmerge • Global config repo: https://github.com/jenkinsci/.github • Minimal configuration in repositories Inheritance! 18
  19. © 2019 CloudBees, Inc. All Rights Reserved. 19

  20. © 2019 CloudBees, Inc. All Rights Reserved. 20

  21. © 2019 CloudBees, Inc. All Rights Reserved. 4 months with

    Release Drafter • Almost all development tools use Release Drafter • 100+ plugins use Release drafter • Experienced several bugs • 4 contributors to Release Drafter from Jenkins 21
  22. © 2019 CloudBees, Inc. All Rights Reserved. Release Drafter adoption

    in Jenkins 22
  23. © 2019 CloudBees, Inc. All Rights Reserved. • Move to

    GitHub actions • Integration with plugin update centers and marketplaces • Aggregated changelogs for plugin bundles Our plan 23
  24. © 2019 CloudBees, Inc. All Rights Reserved. Release Drafter Docs

    toolmantim/release-drafter Our docs jenkinsci/.github/blob/master/.github/release-drafter.adoc Our global configuration file jenkinsci/.github/blob/master/.github/release-drafter.yml Jenkins Documentation SIG https://jenkins.io/sigs/docs/ https://gitter.im/jenkinsci/docs Links on GitHub 24
  25. © 2019 CloudBees, Inc. All Rights Reserved. Contacts: E-mail: onenashev@cloudbees.com

    GitHub: oleg-nenashev Twitter: @oleg_nenashev QUESTIONS? 25