semantic versioning with gitversion - take 2

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

Upload: gary-park

Post on 15-Apr-2017

580 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Semantic Versioning with GitVersion - Take 2

Semantic Versioning with GitVersion

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

Page 2: Semantic Versioning with GitVersion - Take 2

Agenda

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

Page 3: Semantic Versioning with GitVersion - Take 2

What is Semantic Versioning?

Page 4: Semantic Versioning with GitVersion - Take 2

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 5: Semantic Versioning with GitVersion - Take 2

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 6: Semantic Versioning with GitVersion - Take 2

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 7: Semantic Versioning with GitVersion - Take 2

What is GitVersion?

Page 8: Semantic Versioning with GitVersion - Take 2

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 9: Semantic Versioning with GitVersion - Take 2

Why would I want to use GitVersion?

Page 10: Semantic Versioning with GitVersion - Take 2

Existing Strategies

?

Page 11: Semantic Versioning with GitVersion - Take 2

How do I get started with GitVersion?

Page 12: Semantic Versioning with GitVersion - Take 2

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 - Take 2

Example GitVersion Output

Page 14: Semantic Versioning with GitVersion - Take 2

Build Server Support

Page 15: Semantic Versioning with GitVersion - Take 2

Demo

Page 16: Semantic Versioning with GitVersion - Take 2

Questions?

Feel free to get in touchEmail: [email protected]

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

Page 17: Semantic Versioning with GitVersion - Take 2

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/