Semantic Versioning (SemVer.org) allows you to communicate changes to your software to users through your version numbers. But how do you use it with GitFlow, pull requests or continuous delivery? What about easily creating alpha/beta packages? Do you need a nightly/CI feed? Don’t know how all these bits fit together? You want to see this talk then and get a holistic view of what it means to Semantically Version your software.
I will show you what SemVer is, the problems it solves, new ways it can be used (customer facing apps/sites?). I will cover the GitFlow versioning strategy, and the much simpler pull request model. When to use each, and how you can take advantage of conventions in these workflows to make Semantic Versioning an integral and easy part of your workflow from writing to releasing and maintaining your software!
The talk will also include many of the things that Simon Cropp, Andreas Öhlund and I have learnt over the past 7 months while building the Open Source GitVersion command line tool by showing practical examples from multiple other open source projects, including nServiceBus and TestStack.White.
Not a .NET guy? No worries, everything in this talk is about SemVer, Git and releasing software irrespective of platform or language.
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
Using Git with WordPress - Presented by Nigel Rodgers.WordCamp Harare
I will give a brief introduction to the Git Version Control System (VCS). Short demonstration of using git with WordPress. The demo will be for coding a theme or child theme. Then advantages and disadvantages of using a VCS.
With CollabNet TeamForge it is now possible to use feature branch workflow in addition to standard gerrit workflow to work on your changes. In this presentation you will learn how it works, why we have decided to implement it, how was it implemented and what were the choices we have made and challenges along the way.
Semantic Versioning (SemVer.org) allows you to communicate changes to your software to users through your version numbers. But how do you use it with GitFlow, pull requests or continuous delivery? What about easily creating alpha/beta packages? Do you need a nightly/CI feed? Don’t know how all these bits fit together? You want to see this talk then and get a holistic view of what it means to Semantically Version your software.
I will show you what SemVer is, the problems it solves, new ways it can be used (customer facing apps/sites?). I will cover the GitFlow versioning strategy, and the much simpler pull request model. When to use each, and how you can take advantage of conventions in these workflows to make Semantic Versioning an integral and easy part of your workflow from writing to releasing and maintaining your software!
The talk will also include many of the things that Simon Cropp, Andreas Öhlund and I have learnt over the past 7 months while building the Open Source GitVersion command line tool by showing practical examples from multiple other open source projects, including nServiceBus and TestStack.White.
Not a .NET guy? No worries, everything in this talk is about SemVer, Git and releasing software irrespective of platform or language.
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
Using Git with WordPress - Presented by Nigel Rodgers.WordCamp Harare
I will give a brief introduction to the Git Version Control System (VCS). Short demonstration of using git with WordPress. The demo will be for coding a theme or child theme. Then advantages and disadvantages of using a VCS.
With CollabNet TeamForge it is now possible to use feature branch workflow in addition to standard gerrit workflow to work on your changes. In this presentation you will learn how it works, why we have decided to implement it, how was it implemented and what were the choices we have made and challenges along the way.
All developers run into this. You inherit code, a lot of it and some of it decades old. When the system is a revenue stream you can't simply rewrite it so what is a geek to do? Follow through how The GForge Group is working to take the rough edges out of their code and their process.
In this presentation, Dmitriy Zaporozhets and Job van der Voort talk about the GitLab Release process and give a guided tour of the new features in 8.4. You can find out why GitLab users always know when the next release is, and how they know what's coming next.
Increase the Velocity of Your Software Releases Using GitHub and DeployHubDevOps.com
Increase the velocity of your software releases by using continuous deployment driven by continuous delivery pipeline. After all, the goal of agile is to get code updates into the hands of your users fast and on a high frequency basis. This means installing all the way to production, not just staged for productio.
This webinar will show you an approach to achieving full continuous deployment using GitHub and DeployHub. You will learn how to declare your Application Package from your GitHub repository, manage approvals and deliver updates to environments across the CD pipeline from development through production.
GitHub and DeployHub work together to provide a complete DevOps process that results in a repeatable, consistent software releases process with a full continuous feedback loop.
In this webcast, Douwe Maan shows us a step by step overview of new features in GitLab 8.6. Slides and notes here: https://about.gitlab.com/2016/03/25/webcast-gitlab-86/
There are a number of features which relate to giving you more control over confidentiality. We start with some basics of project and user configuration and then dig into the new features in a typical GitLab workflow.
Using Github Insight as metric for the Developer collaboration and work metri...Najib Radzuan
Usually, the company used Jira board to gauge or measure how Sprint or team performance, but with GitHub Insight we can also determine whether the developer doing a great job or the opposite. During COVID-19 pandemic, the most developers working from home and using GitHub Insight to see all the activity and collaboration between developers become easier.
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsLuca Milanesio
Our journey and experience in dealing with the collection/analysis of Continuous Delivery log events using Gerrit Code Review, Jenkins with Apache Flume, ElasticSearch, Kibana and Spark
GitLab 8.5 Highlights and Step-by-step tutorialHeather McNamee
In this webcast, learn how to collaborate with GitLab. You'll see new features from GitLab 8.5 in practice. Check out our blog for more information. https://about.gitlab.com/2016/02/26/webcast-wrapup/
An awesome git branching practice helps you get more productivity. There are two main branches: master and develop branch. And three supporting branches groups are feature, release, hotfix. It helps you avoid headaches and make you happy when coding.
From Tran Kim Hieu - Mobile Evangelist of Silicon Straits Saigon.
Connect him: http://www.linkedin.com/in/trankimhieu
Are you looking for Git or Gerrit service with Enterprise grade? Here it is! Gerrit integrated with CollabNet TeamForge. During the talk I’ll guide you through our unique features like: Repo Categories, History Protection and TeamForge Notifications. Will present how we hide some of Gerrit complex features from newcomers while also giving the possibility to tweak it for advanced users.
On Saturday 3rd September 2016, I presented a talk at DDD11 entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
All developers run into this. You inherit code, a lot of it and some of it decades old. When the system is a revenue stream you can't simply rewrite it so what is a geek to do? Follow through how The GForge Group is working to take the rough edges out of their code and their process.
In this presentation, Dmitriy Zaporozhets and Job van der Voort talk about the GitLab Release process and give a guided tour of the new features in 8.4. You can find out why GitLab users always know when the next release is, and how they know what's coming next.
Increase the Velocity of Your Software Releases Using GitHub and DeployHubDevOps.com
Increase the velocity of your software releases by using continuous deployment driven by continuous delivery pipeline. After all, the goal of agile is to get code updates into the hands of your users fast and on a high frequency basis. This means installing all the way to production, not just staged for productio.
This webinar will show you an approach to achieving full continuous deployment using GitHub and DeployHub. You will learn how to declare your Application Package from your GitHub repository, manage approvals and deliver updates to environments across the CD pipeline from development through production.
GitHub and DeployHub work together to provide a complete DevOps process that results in a repeatable, consistent software releases process with a full continuous feedback loop.
In this webcast, Douwe Maan shows us a step by step overview of new features in GitLab 8.6. Slides and notes here: https://about.gitlab.com/2016/03/25/webcast-gitlab-86/
There are a number of features which relate to giving you more control over confidentiality. We start with some basics of project and user configuration and then dig into the new features in a typical GitLab workflow.
Using Github Insight as metric for the Developer collaboration and work metri...Najib Radzuan
Usually, the company used Jira board to gauge or measure how Sprint or team performance, but with GitHub Insight we can also determine whether the developer doing a great job or the opposite. During COVID-19 pandemic, the most developers working from home and using GitHub Insight to see all the activity and collaboration between developers become easier.
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsLuca Milanesio
Our journey and experience in dealing with the collection/analysis of Continuous Delivery log events using Gerrit Code Review, Jenkins with Apache Flume, ElasticSearch, Kibana and Spark
GitLab 8.5 Highlights and Step-by-step tutorialHeather McNamee
In this webcast, learn how to collaborate with GitLab. You'll see new features from GitLab 8.5 in practice. Check out our blog for more information. https://about.gitlab.com/2016/02/26/webcast-wrapup/
An awesome git branching practice helps you get more productivity. There are two main branches: master and develop branch. And three supporting branches groups are feature, release, hotfix. It helps you avoid headaches and make you happy when coding.
From Tran Kim Hieu - Mobile Evangelist of Silicon Straits Saigon.
Connect him: http://www.linkedin.com/in/trankimhieu
Are you looking for Git or Gerrit service with Enterprise grade? Here it is! Gerrit integrated with CollabNet TeamForge. During the talk I’ll guide you through our unique features like: Repo Categories, History Protection and TeamForge Notifications. Will present how we hide some of Gerrit complex features from newcomers while also giving the possibility to tweak it for advanced users.
On Saturday 3rd September 2016, I presented a talk at DDD11 entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
Having your cake, and eating it too! - DDDScotlandGary Park
On Saturday 14th May 2016, I presented a talk at DDD Scotland 2016 entitled "Having your Cake, and eating it too!"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
On Thursday 9th June 2016, I presented a talk at NDC Oslo 2016 entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
On Saturday 1st October 2016, I presented a talk at DDD North entitled "A Piece of Cake - C# powered cross platform build automation"
The source code associated with this talk can be found here: https://github.com/gep13/CakeDemos
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Vadym Kazulkin
In this talk I will compare 2 services Github Copilot (including Copilot X) and Amazon CodeWhisperer from the perspective of the Java developers in terms of the quality of the given recommendations for simple tasks, complex algorithms, Spring Boot and AWS development, IDE integration and pricing.
Both services are the machine learning-powered services that help improve developer productivity by generating code recommendations based on developers’ comments in natural language and their code. Based on natural language comments, these services also automatically recommend unit test code that matches your implementation code.
The iOS team at The Washington Post needed to grow quickly and maintain sanity (and shipping quality). Here are some of the key workflow tools that we used.
XP teams try to keep systems fully integrated at all times, and shorten the feedback cycle to minutes and hours instead of weeks or months. The sooner you know, the sooner you can adapt.
Watch our record for the webinar "Continuous Integration" to explore how Azure DevOps helps us in achieving continuous feedback using continuous integration.
Mindtree provides devops service that builds continuous delivery capabilities with tool choices through a DevSecOps maturity assessment framework. Click here to know more.
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For API Management we will Create API’s, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
Webinar - Continuous Integration with GitLabOlinData
This webinar will focus on various aspects of using Continuous Integration (CI). We'll touch on the various uses for CI, and then go over a few examples in various languages. This talk will be focused around using GitLab's CI, but aspects of this webinar will apply to other CI systems. The start of the webinar will include a minor introduction to Gitlab for those that are unfamiliar with it.
Continuous Integration for Salesforce1 PlatformTechsophy Inc.
AutoRABIT automates the process of building, testing, and deploying software on the Salesforce1 Platform. It includes powerful metadata management and automation tools. These tools can be used alone or as part of a complete Continuous Integration & Deployment procesess
So many times our customers need a simple routine that can be executed on a routine basis but the solution doesn’t need to be an elaborate solution without going the trouble of setting servers and other infrastructure. Serverless computer is the abstraction of servers, infrastructure, and operating systems and make getting solutions to your customer’s needs much quicker and cheaper. During this session we will look at how Azure Functions will enable you to run code on-demand without having to explicitly provision or manage infrastructure.
Apidays Paris 2023 - Real-Life REST API Versioning, Alexandre Touret, Worldlineapidays
Apidays Paris 2023 - Software and APIs for Smart, Sustainable and Sovereign Societies
December 6, 7 & 8, 2023
Real-Life REST API Versioning: Strategies and Best Practices
Alexandre Touret, Software Architect at Worldline
------
Check out our conferences at https://www.apidays.global/
Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8
Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io
Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/
Similar to Semantic Versioning with GitVersion - Take 2 (20)
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
4. 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
5. 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.
6. 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
8. 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
16. Questions?
Feel free to get in touch
Email: gep13@gep13.co.uk
Twitter: @gep13
Web: http://www.gep13.co.uk
17. Resources
• GitVersion Documentation
o http://gitversion.readthedocs.org/en/latest/
• .Net Rocks Episode with Jake Ginnivan
o https://www.dotnetrocks.com/default.aspx?showNum=1178
• Git Branching Strategies
o https://www.atlassian.com/git/tutorials/comparing-workflows
• GitFlow
o http://nvie.com/posts/a-successful-git-branching-model/
Editor's Notes
The Semantic Versioning specification is authored by Tom Preston-Werner, inventor of Gravatars and co-founder of GitHub.
Tries to solve two problems, Version Lock and Version promiscuity.
SemVer introduces conventions about breaking changes into our version numbers so we can safely upgrade dependencies without fear of unexpected breaking changes while still allowing us to upgrade downstream libraries to get new features and bug fixes.
{major} = Only incremented if the release has breaking changes (includes bug fixes which have breaking behavioural changes{minor} = Incremented if the release has new non-breaking features{patch} = Incremented if the release only contains non-breaking bug fixes{tag} = Optional -{tag} denotes a pre-release of the version preceeding{buildmetadata} = Options +{buildmetadata} contains additional information about the version, but DOES NOT AFFECT the semantic version preceding it.
- It actually started out as two tools, one by Particular and another by Jake Ginnivan
- They decided to combine their efforts under the ParticularLabs Open Source Repository
- Ownership of GitVersion has since passed to the GitTools organisation which is creating a number of OSS tools, centred around Git
GitReleaseNotes, GitReleaseManager, GitLink, etc
- Uses LibGit2, same library as used by GitHub For Desktop, and the Visual Studio Git Integration
Version.txt - Results in multiple commits to repository that aren’t required
- Difficult to between branches
CI Build - Tied into one CI System
AssemblyInfo - Very manual process
- Someone has to remember to do it
Unknown - Less said about this, the better
I have never used the Ruby Gem, but as I understand it, it is just a wrapper around the exe.
There is also a GitVersion DLL which can be consumed in your own applications, but it should be noted that there is not currently a public defined API, so care should be taken.
Not all Build Servers clone all branches, necessary for asserting the version number, which means GitVersion can fail.
This will make GitVersion Variables:
- immediately available to other build steps
- set the build version number
- rationalise the branches, and ensure all required branches are cloned, in order to assert version number
- automatically detect that it is running on a build server