Nastavení zásad uchovávání informací pro sestavení, vydané verze a testy

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Zásady uchovávání informací umožňují nastavit, jak dlouho se mají uchovávat spuštění, verze a testy uložené v systému. Pokud chcete ušetřit místo v úložišti, chcete odstranit starší spuštění, testy a vydané verze.

V Azure DevOps jsou v nastavení projektu k dispozici následující zásady uchovávání informací:

  1. Kanál – Nastavte, jak dlouho se mají uchovávat artefakty, symboly, přílohy, spuštění a spuštění žádostí o přijetí změn.
  2. Release (Classic) – Nastavte, jestli se mají ukládat buildy, a zobrazit výchozí a maximální nastavení uchovávání.
  3. Test – nastavte, jak dlouho se mají uchovávat automatizovaná a ruční testovací spuštění, výsledky a přílohy.

Zásady uchovávání informací o nastavení projektu

Poznámka:

Pokud používáte místní server, můžete také určit výchozí nastavení zásad uchovávání informací pro projekt a při trvalém zničení vydaných verzí. Další informace o uchovávání verzí najdete dále v tomto článku.

Požadavky

Ve výchozím nastavení můžou zásady uchovávání informací spravovat členové skupin Přispěvatelé, Správci buildu, Správci projektů a Správci vydaných verzí.

Pokud chcete spravovat zásady uchovávání informací, musíte mít jedno z následujících předplatných:

Můžete si také zakoupit měsíční přístup k Azure Test Plans a přiřadit úroveň přístupu Basic + Test Plans. Viz Testování přístupu podle role uživatele.

Konfigurace zásad uchovávání informací

  1. Přihlaste se ke svému projektu.

  2. Přejděte na ikona ozubeného kolakartu Nastavení nastavení projektu.

  3. V části Kanály nebo uchovávání v části Test vyberte uchovávání verzí.

    • Vyberte Uchovávání verzí , abyste nastavili zásady uchovávání verzí a nakonfigurovali, kdy chcete odstranit nebo trvale zničit vydané verze.
    • Vyberte Možnost Uchovávání a nastavte, jak dlouho se mají uchovávat ruční a automatizované testovací běhy.

    Snímek obrazovky s nastavením uchovávání informací v nastavení Projectu pro DevOps 2019

Konfigurace zásad uchovávání informací

  1. Přihlaste se ke svému projektu.

  2. Přejděte na ikona ozubeného kolakartu Nastavení nastavení projektu.

  3. V části Kanály nebo uchovávání v části Test vyberte Nastavení nebo uchovávání verzí.

    • Výběrem Nastavení nakonfigurujte zásady uchovávání informací pro spuštění, artefakty, symboly, přílohy a spuštění žádostí o přijetí změn.
    • Vyberte Uchovávání verzí , abyste nastavili zásady uchovávání verzí a nakonfigurovali, kdy chcete odstranit nebo trvale zničit vydané verze.
    • Vyberte Možnost Uchovávání a nastavte, jak dlouho se mají uchovávat ruční a automatizované testovací běhy.

    Snímek obrazovky s nastavením uchovávání informací v nastavení projectu

Důležité

Azure Pipelines už nepodporuje zásady uchovávání informací pro jednotlivé kanály. Doporučujeme používat pravidla uchovávání informací na úrovni projektu.

Nastavení zásad uchovávání informací o spuštění

Ve většině případů nemusíte uchovávat dokončená spuštění delší než určitý počet dní. Pomocí zásad uchovávání informací můžete určit , kolik dní chcete před odstraněním každého spuštění zachovat.

  1. Přejděte na ikona ozubeného kolakartu Nastavení nastavení projektu.

  2. V části Pipelines (Kanály) vyberte Nastavení.

    • Nastavte počet dní pro uchování artefaktů, symbolů a příloh.
    • Nastavení počtu dnů pro zachování spuštění
    • Nastavení počtu dnů pro zachování spuštění žádostí o přijetí změn
    • Nastavte počet posledních spuštění , která se mají zachovat pro každý kanál.

Upozorňující

Azure DevOps už nepodporuje pravidla uchovávání jednotlivých kanálů. Jediným způsobem, jak nakonfigurovat zásady uchovávání informací pro YAML a klasické kanály, je prostřednictvím nastavení projektu popsaného výše. Zásady uchovávání informací pro jednotlivé kanály už není možné konfigurovat.

Nastavení počtu posledních spuštění, která se mají zachovat pro každý kanál, vyžaduje trochu více vysvětlení. Interpretace tohoto nastavení se liší podle typu úložiště, které sestavíte ve svém kanálu.

  • Azure Repos: Azure Pipelines uchovává nakonfigurovaný počet nejnovějších spuštění pro výchozí větev kanálu a pro každou chráněnou větev úložiště. Větev, která má nakonfigurované zásady větve, se považuje za chráněnou větev.

    Jako příklad zvažte úložiště se dvěma větvemi main a release. Představte si, že pipeline's default branch se jedná o main větev a release větev má zásadu větve, takže se jedná o chráněnou větev. Pokud jste v takovém případě nakonfigurovali zásadu tak, aby zachovala tři spuštění, zůstanou zachována obě nejnovější tři spuštění main a poslední tři spuštění release větve. Kromě toho se zachovají i nejnovější tři spuštění tohoto kanálu (bez ohledu na větev).

    Abychom tuto logiku dále objasnili, řekněme, že seznam spuštění pro tento kanál je následující s posledním spuštěním v horní části. Tabulka ukazuje, která spuštění se zachovají, pokud jste nakonfigurovali zachování nejnovějších tří spuštění (ignoruje se účinek nastavení počtu dnů):

    Spustit # Pobočka Zachováno / Nezachované Proč?
    Spuštění 10 main Zachovány Nejnovější 3 pro hlavní a nejnovější 3 pro kanál
    Spustit 9 větev1 Zachovány Nejnovější 3 verze kanálu
    Spustit 8 větev 2 Zachovány Nejnovější 3 verze kanálu
    Spustit 7 main Zachovány Nejnovější 3 pro hlavní
    Spuštění 6 main Zachovány Nejnovější 3 pro hlavní
    Spuštění 5 main Nezachované Ani nejnovější 3 pro hlavní, ani pro kanál
    Spuštění 4 main Nezachované Ani nejnovější 3 pro hlavní, ani pro kanál
    Spustit 3 větev1 Nezachované Ani nejnovější 3 pro hlavní, ani pro kanál
    Běh 2 Vydání Zachovány Nejnovější 3 verze pro vydání
    Běh 1 main Nezachované Ani nejnovější 3 pro hlavní, ani pro kanál
  • Všechna ostatní úložiště Git: Azure Pipelines uchovává nakonfigurovaný počet nejnovějších spuštění pro celý kanál.

  • TFVC: Azure Pipelines uchovává nakonfigurovaný počet nejnovějších spuštění pro celý kanál bez ohledu na větev.

Jaké části spuštění se odstraní

Při odstranění spuštění se odstraní následující informace:

  • Protokoly
  • Všechny artefakty kanálu a sestavení
  • Všechny symboly
  • Binární soubory
  • Výsledky testů
  • Spuštění metadat
  • Zdrojové popisky (TFVC) nebo značky (Git)

Univerzální balíčky, NuGet, npm a další balíčky nejsou svázané s uchováváním kanálů.

Kdy se odstraní spuštění

Zásady uchovávání informací se zpracovávají jednou denně. Doba, po kterou zásady zpracují proměnné, protože práci rozdělíme po celý den pro účely vyrovnávání zatížení. Tento proces není možné změnit.

Spuštění se odstraní, pokud jsou splněny všechny následující podmínky:

  • Překračuje počet dnů nakonfigurovaných v nastavení uchovávání informací.
  • Nejedná se o jedno z nedávných spuštění nakonfigurovaných v nastavení uchovávání informací.
  • Není označen k zachování po neomezenou dobu.
  • Verze ji nezachovává.

Automatické nastavení zapůjčení uchovávání u spuštění kanálu

Zapůjčení uchovávání informací slouží ke správě životnosti spuštění kanálu nad rámec nakonfigurovaných období uchovávání informací. Zapůjčení uchování je možné přidat nebo odstranit při spuštění kanálu voláním rozhraní API zapůjčení. Toto rozhraní API je možné vyvolat v rámci kanálu pomocí skriptu a pomocí předdefinovaných proměnných pro runId a definitionId.

Zapůjčení uchovávání informací je možné přidat do spuštění kanálu po určitou dobu. Například spuštění kanálu, které se nasadí do testovacího prostředí, může být zachováno kratší dobu, zatímco spuštění, které se nasazuje do produkčního prostředí, může být zachováno déle.

Ruční nastavení zapůjčení uchovávání u spuštění kanálu

Spuštění kanálu můžete nastavit ručně, aby se zachovalo, pomocí nabídky Další akce na stránce podrobností o spuštění kanálu.

Ruční uchovávání spuštění

Odstranění spuštění

Spuštění můžete odstranit pomocí nabídky Další akce na stránce podrobností o spuštění kanálu.

Poznámka:

Pokud se některé zásady uchovávání informací aktuálně vztahují na spuštění, musí být před odstraněním spuštění odebrány. Pokyny najdete v tématu Podrobnosti o spuštění kanálu – odstranění spuštění.

odstranění spuštění

Nastavení zásad uchovávání verzí

Zásady uchovávání verzí pro klasický kanál verze určují, jak dlouho se verze zachová a jak dlouho se s ní bude uchovávat spuštění propojené. Pomocí těchto zásad můžete určit , kolik dní chcete zachovat každou verzi po poslední úpravě nebo nasazení, a minimální počet verzí , které by se měly uchovávat pro každý kanál.

Časovač uchovávání ve vydané verzi se resetuje pokaždé, když se verze upraví nebo nasadí do fáze. Minimální počet verzí, které se mají zachovat, má přednost před počtem dní. Pokud například zadáte, že se má uchovávat minimálně tři verze, poslední tři se zachovají na neomezenou dobu bez ohledu na počet zadaných dnů. Tyto verze ale můžete odstranit ručně, pokud je už nepotřebujete. Další podrobnosti o fungování uchovávání verzí najdete níže v nejčastějších dotazech.

Jako autor kanálu verze můžete přizpůsobit zásady uchovávání informací pro verze kanálu na kartě Uchovávání informací.

Zásady uchovávání informací pro kanály YAML a buildu jsou stejné. Nastavení uchovávání informací kanálu najdete v Projectu Nastavení pro kanály v části Nastavení.

Globální zásady uchovávání informací o vydaných verzích

Pokud používáte místní Team Foundation Server nebo Azure DevOps Server, můžete zadat výchozí hodnoty zásad uchovávání verzí a maximální hodnoty pro projekt. Můžete také určit, kdy budou vydané verze trvale zničeny (odebrány z karty Odstraněno v Průzkumníku sestavení).

Nastavení uchovávání místních verzí

Pokud používáte Azure DevOps Services, můžete tato nastavení pro svůj projekt zobrazit, ale nemůžete změnit.

Nastavení globálních zásad uchovávání verzí je možné zkontrolovat v nastavení uchovávání verzí vašeho projektu:

  • Azure DevOps Services: https://dev.azure.com/{organization}/{project}/_settings/release?app=ms.vss-build-web.build-release-hub-group
  • Místní: https://{your_server}/tfs/{collection_name}/{project}/_admin/_apps/hub/ms.vss-releaseManagement-web.release-project-admin-hub

Maximální zásady uchovávání informací nastaví horní limit pro dobu uchovávání verzí pro všechny kanály verze. Autoři kanálů verzí nemůžou konfigurovat nastavení pro jejich definice nad rámec hodnot uvedených zde.

Výchozí zásady uchovávání informací nastaví výchozí hodnoty uchovávání pro všechny kanály verze. Autoři kanálů buildu můžou tyto hodnoty přepsat.

Zásady zničení pomáhají uchovávat verze po určitou dobu po jejich odstranění. Tuto zásadu nelze přepsat v jednotlivých kanálech verze.

Nastavení zásad uchovávání informací na úrovni kolekce

U místních serverů můžete také nastavit zásady uchovávání na úrovni kolekce pomocí vlastních pravidel uchovávání informací. Tyto zásady uchovávání informací platí pro kanály buildu Classic. Stránka se https://{your_server}/{collection_name}/_settings/buildqueue řídí maximálními hodnotami a výchozími hodnotami.

Snímek obrazovky znázorňující, jak nakonfigurovat zásady uchovávání informací na úrovni kolekce

Použití úlohy Kopírovat soubory k uložení dat déle

Úlohu Kopírovat soubory můžete použít k uložení dat sestavení a artefaktů déle, než je nastavené v zásadách uchovávání informací. Úloha Kopírovat soubory je vhodnější než úloha Publikovat artefakty sestavení, protože data uložená s úlohou Publikovat artefakty sestavení se pravidelně vyčistí a odstraní.

- task: CopyFiles@2
  displayName: 'Copy Files to: \\mypath\storage\$(Build.BuildNumber)'
  inputs:
    SourceFolder: '$(Build.SourcesDirectory)'
    Contents: '_buildOutput/**'
    TargetFolder: '\\mypath\storage\$(Build.BuildNumber)'

Často kladené dotazy

Pokud označím spuštění nebo verzi, která se má uchovávat po neomezenou dobu, platí zásady uchovávání informací?

Ne. Zásady uchovávání informací kanálu ani maximální limity nastavené správcem se nepoužijí, když označíte, že se jednotlivá spuštění nebo verze budou uchovávat po neomezenou dobu. Zůstane, dokud ho nezachováte na neomezenou dobu.

Návody určit, že spuštění nasazená do produkčního prostředí se zachovají déle?

Pokud k nasazení do produkčního prostředí použijete klasické verze, přizpůsobte zásady uchovávání informací v kanálu verze. Zadejte počet dnů, po které musí být zachovány vydané verze nasazené do produkčního prostředí. Kromě toho uveďte, že se mají zachovat spuštění přidružená k této verzi. Tím se přepíše zásada uchovávání informací o spuštění.

Pokud k nasazení do produkčního prostředí použijete kanály YAML s více fázemi, jediné zásady uchovávání informací, které můžete nakonfigurovat, jsou v nastavení projektu. Uchovávání dat nelze přizpůsobit na základě prostředí, do kterého je sestavení nasazeno.

Neoznačil jsem běhy, aby se zachovaly neomezeně dlouho. Vidím ale, že se uchovává velký počet běhů. Jak tomu můžu zabránit?

Může to být z některého z následujících důvodů:

  • Spuštění jsou označená někým ve vašem projektu, aby se zachovala neomezeně dlouho.
  • Spuštění se využívají ve vydané verzi a tato verze obsahuje zámek uchovávání informací na těchto spuštěních. Přizpůsobte zásady uchovávání verzí, jak je vysvětleno výše.

Pokud se domníváte, že spuštění už nejsou potřebná nebo pokud už jsou verze odstraněné, můžete spuštění odstranit ručně.

Jak funguje nastavení minimálních verzí, které se mají zachovat?

Minimální verze, které se mají zachovat, jsou definovány na úrovni fáze. Označuje, že Azure DevOps bude vždy uchovávat daný počet naposledy nasazených verzí pro určitou fázi, i když jsou vydané verze mimo dobu uchovávání. Vydání bude považováno za minimální verze, které se budou uchovávat pro určitou fázi pouze v případě, že se nasazení spustilo v této fázi. Zvažují se úspěšná i neúspěšná nasazení. Verze čekající na schválení se nepovažují.

Jak se určuje doba uchovávání informací, kdy se vydání nasadí do několika fází, které mají jinou dobu uchovávání?

Konečné období uchovávání je rozhodnuto zvážením dnů, kdy se zachovají nastavení všech fází, ve kterých se verze nasazuje, a trvá mezi nimi maximální počet dnů. Minimální verze, které se mají zachovat , se řídí na úrovni fáze a nemění se na základě verze nasazené do více fází nebo ne. Uchovávejte přidružené artefakty, které se použijí při nasazení vydané verze do fáze, pro kterou je nastavena hodnota true.

Odstranil jsem fázi, pro kterou mám nějaké staré verze. Jaké uchovávání bude v tomto případě zvažovat?

Jakmile se fáze odstraní, nastavení uchovávání informací na úrovni fáze se teď nedá použít. Azure DevOps se v takovém případě vrátí do výchozího uchovávání na úrovni projektu.

Moje organizace vyžaduje, abychom zachovali buildy a vydané verze déle, než je povoleno v nastavení. Jak můžu požádat o prodloužení doby uchovávání?

Jediným způsobem, jak zachovat spuštění nebo verzi delší, než je povoleno prostřednictvím nastavení uchovávání informací, je ručně označit, že se má uchovávat neomezeně dlouho. Neexistuje způsob, jak nakonfigurovat nastavení delšího uchovávání ručně. Pokud potřebujete pomoc, obraťte se na podporu Azure DevOps.

Můžete také prozkoumat možnost použití rozhraní REST API ke stažení informací a artefaktů o spuštění a jejich nahrání do vlastního úložiště nebo úložiště artefaktů.

Ztratil jsem nějaké běhy. Existuje nějaký způsob, jak je získat zpět?

Pokud se domníváte, že jste ztratili spuštění kvůli chybě ve službě, vytvořte lístek podpory okamžitě a obnovte ztracené informace. Pokud byla definice sestavení ručně odstraněna více než týden dříve, nebude možné ji obnovit. Pokud se spuštění odstranila podle očekávání kvůli zásadám uchovávání informací, nebude možné ztracené spuštění obnovit.

Návody používat Build.Cleanup funkce agentů?

Build.Cleanup Nastavení funkce na agentech způsobí, že úlohy čištění fondu budou směrovány jenom na tyto agenty a zbytek zůstane volný, aby mohli provádět pravidelnou práci. Při odstranění spuštění kanálu se artefakty uložené mimo Azure DevOps vyčistí prostřednictvím úlohy spuštěné na agentech. Když se fond agentů sytí úlohami čištění, může to způsobit problém. Řešením je určit podmnožinu agentů ve fondu, kteří jsou agenti čištění. Pokud jsou nastavilí agenti Build.Cleanup , spustí úlohy čištění jenom tito agenti a zbývající agenti budou mít volnou verzi, aby mohli pokračovat ve spouštění úloh kanálu. Funkci Vyčištění lze povolit tak, že přejdete na Možnosti agenta>a nastavíte Build.Cleanup rovna 1.

Co se stane se sdílenými artefakty při odstranění sestavení

Když se odstraní sestavení se sdílenou složkou Artifacts, do fronty agenta sestavení se zařadí nová úloha sestavení, která tyto soubory vyčistí. Agent je vybrán k provedení této úlohy na základě následujících kritérií: Je k dispozici agent s Build.Cleanup funkcí? Je agent, který spustil sestavení, k dispozici? Je agent ze stejného fondu dostupný? Je agent z podobného fondu dostupný? Je k dispozici nějaký agent?

Jsou výsledky automatizovaného testu publikované jako součást vydané verze, dokud se verze nespustí?

Výsledky testů publikované ve fázi vydané verze se zachovají podle zásad uchovávání informací nakonfigurovaných pro výsledky testu. Výsledky testu se nezachovají, dokud se verze nezachová. Pokud potřebujete výsledky testu, pokud je vydaná verze, nastavte nastavení uchovávání pro automatizované testovací běhy v nastaveních Projectu odpovídajícím způsobem tak, aby se neodstraňovat. Tím se zajistí, že se výsledky testu odstraní jenom při odstranění vydané verze.

Odstraní se výsledky ručního testu?

Ne. Výsledky ručního testu se neodstraní.

Jak zachovat popisky nebo označení verzí?

Upozornění

Všechny popisky nebo značky správy verzí použité během kanálu buildu, který se automaticky nevytvořil z úlohy Zdroje, se zachovají, i když se sestavení odstraní. Všechny popisky nebo označení verzí, které se automaticky vytvoří z úlohy Zdroje během buildu, se však považují za součást artefaktů buildu a budou odstraněny zároveň s buildem.

Pokud je potřeba popisky nebo označení verzí zachovat, i když je build odstraněný, bude je potřeba je použít buď jako součást úlohy v kanálu, ručně označit mimo kanál, nebo bude potřeba build zachovat po neomezenou dobu.

Co se stane s kanály, které se spotřebovávají v jiných kanálech?

Klasické verze uchovávají kanály, které spotřebovávají automaticky.

Co se stane s kanály, které se spotřebovávají v jiných kanálech?

Klasické verze uchovávají kanály, které spotřebovávají automaticky. Pokud používáte YAML, můžete také vytvořit kanál YAML s více fázemi, který bude představovat vaši verzi a využívat jiný kanál YAML jako prostředek. Kanál prostředku se zachová automaticky, dokud se kanál verze zachová.