• 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 » Why I can’t retry a release or restart a stage in Release Management
  • Why I can’t retry a release or restart a stage in Release Management

    • By Martijn Beenes
    • Various 7 years ago
    • Various 0 comments
    • Various Various
    Why I can’t retry a release or restart a stage in Release Management

    Since the beginning of time (well since we have computers. Winking smile) teams are using different environments to install and test their applications before actually putting them into production.
    In the last couple of years, teams are focusing more and more on automating this process. With the release of Team Foundation Server 2013, Microsoft provides a tool called Microsoft Release Management to automate the deployment process across multiple environments.

    Note: If you want more information on how Microsoft Release Management works, I recently did a talk on the how to use Microsoft Release Management in combination with Windows PowerShell Desired State Configuration to automate an deployment on DotNetFlix. You can have a look at the video here.

    During your automated deployment process it could happen that your deployment fails for whatever reason. In some cases you might be able to fix the problem. At that point you probably want to restart the process or continue the automated deployment process at the failed step.

    Microsoft Release Management provides functionality to retry a failed deployment or restart the complete deployment process at a specific stage. For a Rejected release, the buttons: ‘Retry Failed Deployment’ and ‘Restart Stage’ are available to do just that:1. Retry buttons
    However, it turns out these buttons are not always available for everyone.

    How Microsoft Release Management works
    In Microsoft Release Management you need to define the environments on which to install your application and the process of how to install your application. This is done by defining a Release Path and a Release Template.

    The Release-Path describes the different Stages (environments like development, test, production, etc.) the application needs to go through before it is deployed into production.
    A Release Template describes how to deploy the application in each of the Stages as defined in the Release Path.

    When a deployment is triggered a Release is created. For each Stage in the Release, the same high-level steps are executed. The deployment process looks pretty much like this:2. Release steps
    For each stage the same 5 high-level steps are executed. First the deployment must be accepted. Next some pre-deployment activities are performed. Then the deployment process, as you defined it, is executed. After that the deployment is validated. Finally, if you configured it that way, the release is approved by 1 or more persons.

    When the Release-Path is configured, you need to specify for each of the high-level steps who owns that step in that stage:3. Release Path
    It is possible to specify a single user or group that owns the deployment step. Only for the Approval Step can you specify more than 1 user or group.

    Note: The Predeploy and Deploy steps as shown in the Release are configured as a single step (Deployment Step) in the Release Path.

    In the Release overview the owner is displayed for each step that is executed.4. Release Overview owners
    If a Release failed, the status of the high-level step that actually failed will be Rejected. If you are the owner of that failed step, you will be able to retry the failed deployment or restart the Stage in which the failure occurred. If you are not the owner of the failed step, the buttons: ‘Retry Failed Deployment’ and ‘Restart Stage’ will not be available to you.

    Note 1: If you are the owner of a step in any of the configured stages, you will see the retry-buttons regardless of whether you are owner of that step in that specific stage.
    Note 2: If you are added as an owner to a step you previously did not own, you won’t see the retry-buttons for releases that already have been executed.

    Permission: Can Release
    One of the permission that can be granted on a Release Template, is the permission to start a release:5. Template permissions
    This permission controls whether you are able to start a Release for the given Release Template. However, this permission doesn’t control if you can retry a failed deployment or restart a stage.

    Check to see if you should get the retry-buttons
    To check which users should be able to retry a failed release or restart a stage, I wrote a SQL script that can be executed against the Microsoft Release Management database.

    DECLARE @ReleaseTemplateName VARCHAR(255)
    SET @ReleaseTemplateName = ‘<YOUR RELEASE TEMPLATE NAME HERE>’

    SELECT U.Id, U.DisplayName, U.UserName, SG.Name
    FROM SecurityGroup_User SGU
    INNER JOIN [User] U ON (U.Id = SGU.UserId)
    INNER JOIN SecurityGroup SG ON (SG.Id = SGU.SecurityGroupId)
    WHERE SecurityGroupId IN
    (
    &nbsp;&nbsp; SELECT Id
    &nbsp;&nbsp; FROM SecurityGroup
    &nbsp;&nbsp; WHERE Id IN
    &nbsp;&nbsp; (
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT ApproverGroupId
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM StageStep
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE StageId IN
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT S.Id
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM Stage S
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INNER JOIN StageType ST ON (ST.Id = s.StageTypeId)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE S.ReleasePathId IN
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT ReleasePathId
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM ApplicationVersion
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE Name = @ReleaseTemplateName
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND S.IsDeleted = 0
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND StageStepTypeId IN
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT Id
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM StageStepType
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE Name = ‘Deploy’
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;
    &nbsp;&nbsp; )
    )

    Share this

Martijn Beenes

View profile

IT Training at Info Support

Which training fits you?

Consultancy

Consultancy

Related blogs

  • Video Conferencing en OBS Studio koppelen: online prese…

    Video Conferencing en OBS Studio koppelen: online prese… Maaike Brouwer - 2 years ago

  • Verantwoordelijkheid pakken in jouw eigen persoonlijke …

    Verantwoordelijkheid pakken in jouw eigen persoonlijke … Stephan Versteegh - 2 years ago

  • Tips voor als je gaat afstuderen

    Tips voor als je gaat afstuderen Bart Renders - 2 years ago

Data Discovery Channel

  • Explainable AI - Break open the blackbox

  • Toekomstvaste microservice data architecturen

  • Modern Data Platform

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 vendors Read more about these purposes
Voorkeuren
{title} {title} {title}