Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

Semantic Versioning - How to not break the Internet

Download to read offline

Talk given on ReactJS Girls Meetuo March.

Introduction into Versioning. How other companies do versioning. Introduction into the idea of Semantic Versioning and possibilities how to automate it with npm package semantic-release

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Semantic Versioning - How to not break the Internet

  1. 1. Semantic Versioning How to not break the internet. Kathrin / @thecakedesk 19/03/2019
  2. 2. 2 1. Let me tell you the story when I broke production
  3. 3. 3 2. Versioning is hard
  4. 4. 4 3. There is no standard
  5. 5. two digits, two numbersone digit, three numbers production release 1.9.9 → 1.2.0 1.9 → 1.10 development releases 1.1 → 1.2 getting closer to 0 -1.9.9 → -1.9.8 different increment types unstable / stable releases negative numbers 5 How others do versioning 1.1 → 2.0
  6. 6. 6 4. People are very emotional about Versions
  7. 7. 7 http://sentimentalversioning.org 1. Project and Development Cycles 2. Milestones 3. Marketing Sentimental Versioning
  8. 8. 8 5. There is Hope Semantic Versioning
  9. 9. Breaking FixFeature How does this work? . . https://semver.org/
  10. 10. The Process Create Release Publish Change Code
  11. 11. npm version [<newversion> | major | minor | patch | https://docs.npmjs.com/cli/version.html
  12. 12. 12 6. 📦🚀 semantic-release
  13. 13. 13 https://github.com/semantic-release/semantic-release 1. analyse commit messages 2. sets new version number 3. create release notes 4. create git tag 5. publish release to npm 6. notify about release What semantic-release is doing for you
  14. 14. 14 Requirements https://github.com/semantic-release/semantic-release ➔ CI environment e.g. travis, jenkins, circleCI... ➔ specific commit message format ➔ push access to your Repository (GitHub, GitLab, Bitbucket, priv. GitServer)
  15. 15. 15 How to setup https://github.com/semantic-release/semantic-release npm install -g semantic-release-cli cd your-module semantic-release-cli setup
  16. 16. language: node_js node_js: - 8 jobs: include: # Define the release stage that runs semantic-release - stage: release node_js: lts deploy: provider: script skip_cleanup: true script: - npx semantic-release https://github.com/semantic-release/semantic-release
  17. 17. 17 commit message format https://github.com/semantic-release/semantic-release Definition Description feat A new feature fix A bug fix docs Documentation added or changed style Changes that do not affect the meaning of the code (codestyle) refactor A code change that neither fixes a bug nor adds a feature perf A code change that improves the performance test Adding missing or correcting existing tests chore Changes to the build process or auxiliary tools and libraries such as documentation generation
  18. 18. 18 https://github.com/semantic-release/semantic-release feat(Button): add new Button component
  19. 19. The new Process 🚀Change Code Merge to Master
  20. 20. Thanks, and use semantic versioning

Talk given on ReactJS Girls Meetuo March. Introduction into Versioning. How other companies do versioning. Introduction into the idea of Semantic Versioning and possibilities how to automate it with npm package semantic-release

Views

Total views

96

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

2

Shares

0

Comments

0

Likes

0

×