• Blog
  • Info Support
  • Career
  • Training
  • International Group
  • Info Support
  • Blog
  • Career
  • Training
  • International Group
  • Search
logo InfoSupport
  • Latest blogs
  • Popular blogs
  • Experts
      • All
      • Bloggers
      • Speakers
  • Meet us
  • About us
    • nl
    • en
    • .NET
    • 3D printing
    • Advanced Analytics
    • Agile
    • Akka
    • Alexa
    • Algorithms
    • Api's
    • Architectuur
    • Artificial Intelligence
    • ATDD
    • Augmented Reality
    • AWS
    • Azure
    • Big Data
    • Blockchain
    • Business Intelligence
    • Chatbots
    • Cloud
    • Code Combat
    • Cognitive Services
    • Communicatie
    • Containers
    • Continuous Delivery
    • CQRS
    • Cyber Security
    • Dapr
    • Data
    • Data & Analystics
    • Data Science
    • Data Warehousing
    • Databricks
    • DataOps
    • Developers life
    • DevOps
    • Digital Days
    • Digital Twin
    • Docker
    • eHealth
    • Enterprise Architecture
    • Event Sourcing
    • Hacking
    • Infrastructure & Hosting
    • Innovatie
    • Integration
    • Internet of Things
    • Java
    • Machine Learning
    • Microservices
    • Microsoft
    • Microsoft Bot Framework
    • Microsoft Data Platform
    • Mobile Development
    • Mutation Testing
    • Open source
    • Pepper
    • Power BI
    • Privacy & Ethiek
    • Python
    • Quality Assistance & Test
    • Quality Assurance & Test
    • Requirements Management
    • Scala
    • Scratch
    • Security
    • SharePoint
    • Software Architecture
    • Software development
    • Software Factory
    • SQL Server
    • SSL
    • Start-up
    • Startup thinking
    • Stryker
    • Test Quality
    • Testing
    • TLS
    • TypeScript
    • Various
    • Web Development
    • Web-scale IT
    • Xamarin
    • All
    • Bloggers
    • Speakers
Home » How to disable a shelve set build option in TFS Build?
  • How to disable a shelve set build option in TFS Build?

    • By Marcel de Vries
    • .NET 10 years ago
    • .NET 0 comments
    • .NET .NET
    How to disable a shelve set build option in TFS Build?

    *Moved to: http://fluentbytes.com/how-to-disable-a-shelve-set-build-option-in-tfs-build/

    Today I worked with a customer on a cross platform implementation of TFS. The intention is to use TFS for their java projects as well. One of the things we needed to arrange is the notion of so called snapshot builds and release builds. A snapshot build can be triggered by everyone and is allowed to be a build on the trunk or any other piece that needs to be validated, including a build of the tip of version control with a shelve set.

    As a TFS adapt, I always thought that having this option to Build with a shelve set on the latest version of the sources is just awesome. I had never imagined that someone would like me to disable this option, still this is the question I got asked.

    The reasoning behind this question is understandable. We created a build definition for a release build and this will, after a successful build, check in the results of the build into the Nexus repository. This will then trigger all sorts of other things in their organization, so we need to ensure that this build once triggered only can result in one thing and that is a stable release of sources already in a branch being checked by e.g another build. So one thing we needed to arrange is that only a few dedicated people are allowed to queue a release build. That was relatively easy, but they wanted me to ensure that no-one would ever be able to queue a release build with a shelve set. If you think of that this kind of makes sense, shelve set builds are ok for a snapshot build, but don’t make really sense for a release build if that is the way you set up your build definitions.

    So this left me with the question how I would be able to disable this option?

    It appears there is a solution to this in the build process template. Each build process template has a parameter called SupportedReasons. This enum is normally set to all, but you can also unselect the option ValidateShelveset, as shown in the picture below:

    image

    When you check in this modified template and then queue a build with a shelve set as shown below you will see we get an error message and I am prevented for queuing that build!

    image image

    Of course it would be awesome if the UI had adapted to the fact that I unselected the Enum and it just did not show the option to queue a build with a shelve set. But it does prevent me from queuing a build with a shelve set and that is exactly what I needed.

    Follow my new blog on http://fluentbytes.com

    Share this

Marcel de Vries

View profile

Related IT training

Go to training website

Related Consultancy solutions

Go to infosupport.com

Related blogs

  • What's new in C# 12, a developer perspective

    What's new in C# 12, a developer perspective Tom van den Berg - 3 weeks ago

  • Continuous validation - Ensuring Availability and Resil…

    Continuous validation - Ensuring Availability and Resil… Tom van den Berg - 1 month ago

  • Continuous validation - Ensuring Availability and Resil…

    Continuous validation - Ensuring Availability and Resil… Tom van den Berg - 1 month ago

Data Discovery Channel

  • Data+AI Summit 2023

  • Blijf je Azure cloud omgeving de baas met CloudXcellence

  • MLOps

Nieuwsbrief

* verplichte velden

Contact

  • Head office NL
  • Kruisboog 42
  • 3905 TG Veenendaal
  • T +31 318 552020
  • Call
  • Mail
  • Directions
  • Head office BE
  • Generaal De Wittelaan 17
  • bus 30 2800 Mechelen
  • T +32 15 286370
  • Call
  • Mail
  • Directions

Follow us

  • Twitter
  • Facebook
  • Linkedin
  • Youtube

Newsletter

Sign in

Extra

  • Media Library
  • Disclaimer
  • Algemene voorwaarden
  • ISHBS Webmail
  • Extranet
Beheer cookie toestemming
Deze website maakt gebruik van Functionele en Analytische cookies voor website optimalisatie en statistieken.
Functioneel Always active
De technische opslag of toegang is strikt noodzakelijk voor het legitieme doel het gebruik mogelijk te maken van een specifieke dienst waarom de abonnee of gebruiker uitdrukkelijk heeft gevraagd, of met als enig doel de uitvoering van de transmissie van een communicatie over een elektronisch communicatienetwerk.
Voorkeuren
De technische opslag of toegang is noodzakelijk voor het legitieme doel voorkeuren op te slaan die niet door de abonnee of gebruiker zijn aangevraagd.
Statistieken
De technische opslag of toegang die uitsluitend voor statistische doeleinden wordt gebruikt. De technische opslag of toegang die uitsluitend wordt gebruikt voor anonieme statistische doeleinden. Zonder dagvaarding, vrijwillige naleving door uw Internet Service Provider, of aanvullende gegevens van een derde partij, kan informatie die alleen voor dit doel wordt opgeslagen of opgehaald gewoonlijk niet worden gebruikt om je te identificeren.
Marketing
De technische opslag of toegang is nodig om gebruikersprofielen op te stellen voor het verzenden van reclame, of om de gebruiker op een website of over verschillende websites te volgen voor soortgelijke marketingdoeleinden.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Voorkeuren
{title} {title} {title}