Als een pijplijnuitvoering mislukt, kunt u terugdraaien gebruiken om uw omgeving terug te brengen naar een vorige stabiele status. Als u terugdraaien wilt gebruiken, plant u een terugdraaistroom en leert u hoe deze moet worden geïmplementeerd.

Een terugdraaistroom schrijft de vereiste stappen voor om een fout in de implementatie terug te draaien. De stroom neemt de vorm aan van een terugdraaipijplijn die een of meer opeenvolgende taken bevat die afhankelijk zijn van het implementatietype dat is uitgevoerd en mislukt. De implementatie en het terugdraaien van een traditionele applicatie is bijvoorbeeld anders dan de implementatie en het terugdraaien van een containerapplicatie.

Om terug te keren naar een goede implementatiestaat, bevat een terugdraaipijplijn doorgaans taken voor het volgende:
  • Statussen of omgevingen opschonen.
  • Een door de gebruiker gespecificeerd script uitvoeren om de wijzigingen terug te draaien.
  • Een vorige revisie van een implementatie implementeren.

Om terugdraaifuncties toe te voegen aan een bestaande implementatiepijplijn, koppelt u de terugdraaipijplijn aan de taken of fasen in de implementatiepijplijn die u wilt terugdraaien voordat u uw implementatiepijplijn uitvoert.

Hoe configureer ik terugdraaien?

Als u terugdraaien in uw implementatie wilt configureren, moet u:

  • Een implementatiepijplijn maken.
  • Mogelijke foutpunten identificeren in de implementatiepijplijn die het terugdraaien activeren zodat u de terugdraaipijplijn kunt koppelen. U kunt bijvoorbeeld uw terugdraaipijplijn koppelen aan een voorwaarde of polling-taaktype in de implementatiepijplijn waarmee wordt gecontroleerd of een vorige taak met succes is voltooid. Zie Hoe gebruik ik variabelebindingen in een voorwaardetaak om een pijplijn uit te voeren of te stoppen in Automation Pipelines? voor informatie over voorwaardetaken.
  • Bepaal het bereik van de fout die de terugdraaipijplijn activeert, zoals een taak- of fasefout. U kunt terugdraaien ook koppelen aan een fase.
  • Bepaal welke terugdraaitaak of -taken moeten worden uitgevoerd in geval van een fout. U maakt een terugdraaipijplijn met die taken.

U kunt handmatig een terugdraaipijplijn maken of Automation Pipelines kan er een voor u maken. U kunt ook een gedeelde pijplijn selecteren voor terugdraaien.

  • Als u een leeg canvas gebruikt, kunt u handmatig een terugdraaipijplijn maken die parallel loopt met een bestaande implementatiepijplijn. Vervolgens koppelt u de terugdraaipijplijn aan een of meer taken in de implementatiepijplijn die terugdraaien bij mislukking activeren.
  • Met behulp van een slimme pijplijnsjabloon kunt u een implementatiepijplijn configureren met de terugdraaiactie. Vervolgens maakt Automation Pipelines automatisch een of meer standaard terugdraaipijplijnen met vooraf gedefinieerde taken die de implementatie terugdraaien bij een fout.

    Zie Hoe kan ik mijn implementatie terugdraaien in Automation Pipelines? voor een gedetailleerd voorbeeld van hoe u een CD-pijplijn kunt configureren met terugdraaien met behulp van een slimme pijplijnsjabloon.

  • Door een gedeelde pijplijn voor terugdraaien te gebruiken, hoeft u niet meerdere terugdraaipijplijnen te maken die dezelfde functie uitvoeren. U kunt de gedeelde pijplijn selecteren om taken voor pijplijnen in verschillende projecten terug te draaien.

    Raadpleeg Gedeelde pijplijnen maken en gebruiken in Automation Pipelines voor informatie over het configureren van een pijplijntaak met terugdraaien met behulp van een gedeelde pijplijn.

Wat gebeurt er als mijn implementatiepijplijn meerdere taken of fasen met terugdraaifunctie heeft

Als u meerdere taken of taken en fasen met terugdraaifunctie heeft toegevoegd, dan moet u er rekening mee houden dat de terugdraaisequentie varieert.
Tabel 1. Terugdraaivolgorde bepalen
Als u terugdraaien toevoegt aan… Wanneer wordt er teruggedraaid…
Parallelle taken Als een van de parallelle taken mislukt, wordt deze taak teruggedraaid nadat alle parallelle taken zijn voltooid of zijn mislukt. Er wordt niet onmiddellijk teruggedraaid nadat de taak is mislukt.
Zowel de taak in een fase als de fase Als een taak mislukt, wordt het terugdraaien van de taak uitgevoerd. Als de taak deel uitmaakt van een groep parallelle taken, wordt de taak teruggedraaid nadat alle parallelle taken zijn voltooid of zijn mislukt. Nadat het terugdraaien van de taak is voltooid of niet is voltooid, wordt het terugdraaien van de fase uitgevoerd.

Overweeg een pijpleiding met de volgende onderdelen:

  • Een productiefase met terugdraaifunctie.
  • Een groep parallelle taken, elke taak met een eigen terugdraaifunctie.

De taak met de naam UPD Deploy US heeft de terugdraaipijplijn RB_Deploy_US. Als UPD Deploy US mislukt, volgt het terugdraaien de stroom die is gedefinieerd in de RB_Deploy_US-pijplijn.

In een pijplijnfase die parallelle taken heeft, wordt op het tabblad Terugdraaien de terugdraaipijplijn weergegeven die wordt gebruikt als de taak mislukt.

Als UPD Deploy US mislukt, wordt de RB_Deploy_US-pijplijn uitgevoerd nadat UPD Deploy UK en UPD Deploy AU ook zijn voltooid of mislukt. Er wordt niet onmiddellijk teruggedraaid nadat UPD Deploy US is mislukt. En omdat de productiefase ook een terugdraaifunctie heeft, wordt de terugdraaipijplijn voor de fase uitgevoerd nadat de RB_Deploy_US-pijplijn is uitgevoerd.