semantic versioning with gitversion

18
Semantic Versioning with GitVersion Gary Ewan Park Email: [email protected] Twitter: @gep13 Web: http://www.gep13.co.uk

Upload: gary-park

Post on 13-Apr-2017

532 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Semantic Versioning with GitVersion

Semantic Versioning with GitVersion

Gary Ewan ParkEmail: [email protected]: @gep13Web: http://www.gep13.co.uk

Page 2: Semantic Versioning with GitVersion

Agenda

• What is GitVersion?• What is Semantic Versioning?• Why would I want to use GitVersion?• How do I get started with GitVersion?• Demo

Page 3: Semantic Versioning with GitVersion

What is GitVersion?

Page 4: Semantic Versioning with GitVersion

A Definition…

“GitVersion is a tool to help you achieve Semantic Versioning on your project.”

Reference http://gitversion.readthedocs.org/en/latest/ https://github.com/GitTools/GitVersion

Page 5: Semantic Versioning with GitVersion

What is Semantic Versioning?

Page 6: Semantic Versioning with GitVersion

A Definition…

“…simple set of rules and requirements that dictate how version numbers are assigned and incremented. These rules are based on but not necessarily limited to pre-existing widespread common practices in use in both closed and open-source software.”

Reference http://semver.org

Page 7: Semantic Versioning with GitVersion

The Rules

Given a version number MAJOR.MINOR.PATCH, increment the:

• MAJOR version when you make incompatible API changes• MINOR version when you add functionality in a backwards-

compatible manner• PATCH version when you make backwards-compatible bug fixes

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Page 8: Semantic Versioning with GitVersion

Example Semantic Version Numbers

• 0.1.0• 1.0.0• 0.3.13• 0.2.0-unstable3• 0.2.0-

unstable.3+Branch.develop.Sha.e6eb071cd30974b80d7e237b85e7729a1d791e1e

Page 9: Semantic Versioning with GitVersion

Why would I want to use GitVersion?

Page 10: Semantic Versioning with GitVersion

Existing Strategies

?

Page 11: Semantic Versioning with GitVersion

How do I get started with GitVersion?

Page 12: Semantic Versioning with GitVersion

Simples!

• Install from Chocolatey:

• Use the NuGet Command Line Package

• Use the NuGet MsBuild Task

• Use the Ruby Gem

Page 13: Semantic Versioning with GitVersion

Example GitVersion Output

Page 14: Semantic Versioning with GitVersion

Build Server Support

Page 15: Semantic Versioning with GitVersion

Demo

Page 16: Semantic Versioning with GitVersion

Questions?

Feel free to get in touchEmail: [email protected]

Twitter: @gep13Web: http://www.gep13.co.uk

Page 17: Semantic Versioning with GitVersion

Resources

• GitVersion Documentationo http://gitversion.readthedocs.org/en/latest/

• .Net Rocks Episode with Jake Ginnivano https://www.dotnetrocks.com/default.aspx?showNum=1178

• Git Branching Strategieso https://www.atlassian.com/git/tutorials/comparing-workflows

• GitFlowo http://nvie.com/posts/a-successful-git-branching-model/

Page 18: Semantic Versioning with GitVersion

Open Space Board

Make sure to add your suggestions for Open Space Discussions