HolisticDeveloper/auto-app-version

An Azure DevOps build and release task designed to automatically increment your app's version number.

★ 0Forks 0PowerShellGitHub ↗Compare

README

AutoAppVersion

Automatic application versioning that not only persits between builds, but also doesn't depend on the build number. Below is an example showing how this extension could be used. Available on the Visual Studio Marketplace

Note: AutoAppVersion has been designed initially to work with Azure DevOps pipelines and DotNet Core projects.

Important: These docs have been updated, if you've been having difficulties setting a version mask in your project file, apply the changes below (don't panic, it's dead quick and simple).

Make sure your project file (.csproj or .vbproj) has a version element

<Version>1.0.0</Version>

Set your Version Mask Override in AAV

vmo

AAV will start to automatically increment the masked version number on each build.

1.0.0
1.0.1
1.0.2
1.0.3

Increase your app's minor version

<Version>1.1.0</Version>

AAV will detect the minor version has increased, and restart the masked incrementation from 0.

1.1.0
1.1.1
1.1.2

Increase your app's major version

<Version>2.0.0</Version>

AAV will detect the major version has increased, and restart the masked incrementation from 0.

2.0.0
2.0.1
2.0.2
2.0.3

AAV writes the new version number directly into your current build's project file allowing any following tasks to utilize the project version like normal. The new version is also saved to a variable defined in your build definition.

Extra stuff

  • You have options which can stop the build if AAV detects certain problems.
  • You can tell AAV to set your project's FileVersion and AssemblyVersion based on the build's generated version number.
  • You have the option to specify and set an environment variable with the latest version number which can be used by proceeding tasks in your build.

Need help setting up?

Check out the wiki on getting started.

Version Number Madness

Check out the following scenario:

  1. Increment your app's current version.
  2. Apply new version number to FileVersion.
  3. Apply new version number to AssemblyVersion.
  4. Ensure .Net pack uses your new version number when generating new packages.
  5. Make sure all new bugs that are sent to Bugsnag include the new version number.
  6. Finally, notify Bugsnag of your latest release, and it's new version number.

If you find yourself in this scenario, click here to find out how my Azure DevOps extensions can be made to work together to automate this entire process.

On GitHub

On Visual Studio Marketplace

Contributors

ThatBlokeCalledJay

Issues