Adatmegőrzési szabályzatok beállítása buildekhez, kiadásokhoz és tesztekhez

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

Adatmegőrzési szabályzatokkal beállíthatja, mennyi ideig őrzi meg a rendszerben tárolt futtatásokat, kiadásokat és teszteket. A tárhely megtakarításához törölni szeretné a régebbi futtatásokat, teszteket és kiadásokat.

Az Alábbi adatmegőrzési szabályzatok érhetők el az Azure DevOpsban a Projekt beállításai között:

  1. Folyamat – Beállíthatja, hogy mennyi ideig tartson az összetevők, szimbólumok, mellékletek, futtatások és lekéréses kérelmek futtatása.
  2. Kiadás (klasszikus) – Beállíthatja, hogy mentse-e a buildeket, és tekintse meg az alapértelmezett és maximális adatmegőrzési beállításokat.
  3. Teszt – Beállíthatja, hogy mennyi ideig tartson automatizált és manuális tesztfuttatások, eredmények és mellékletek.

Projektbeállítások megőrzési szabályzatai

Feljegyzés

Ha helyszíni kiszolgálót használ, megadhatja a projekt adatmegőrzési szabályzatának alapértelmezett értékét, valamint azt is, hogy a kiadások véglegesen megsemmisülnek-e. A cikk későbbi részében további információ a kiadások megőrzéséről.

Előfeltételek

Alapértelmezés szerint a Közreműködő, a Buildgazda, a Projektgazda és a Kiadásgazda csoport tagjai kezelhetik az adatmegőrzési szabályzatokat.

Az adatmegőrzési szabályzatok kezeléséhez az alábbi előfizetések egyikével kell rendelkeznie:

Havi hozzáférést is vásárolhat az Azure-tesztcsomagokhoz, és megadhatja az Alap + Tesztcsomagok hozzáférési szintet. Lásd: Tesztelési hozzáférés felhasználói szerepkör szerint.

Adatmegőrzési szabályzatok konfigurálása

  1. Jelentkezzen be a projektbe.

  2. Nyissa meg a fogaskerék ikonprojekt beállításainak Gépház lapját.

  3. Válassza a Kiadási megőrzés lehetőséget a Folyamatok vagy a Megőrzés csoportban a Teszt területen.

    • Válassza a Kiadásmegtartás lehetőséget a kiadásmegőrzési szabályzatok beállításához, valamint a kiadások törlésének vagy végleges megsemmisítésének konfigurálásához.
    • A Megőrzés lehetőséget választva beállíthatja, hogy mennyi ideig tartson manuális és automatizált tesztfuttatás.

    Képernyőkép a DevOps 2019 Project-beállításainak adatmegőrzési beállításairól.

Adatmegőrzési szabályzatok konfigurálása

  1. Jelentkezzen be a projektbe.

  2. Nyissa meg a fogaskerék ikonprojekt beállításainak Gépház lapját.

  3. Válassza a Gépház vagy a megőrzés felszabadítása lehetőséget a Folyamatok vagy a Megőrzés csoportban a Teszt területen.

    • Válassza a Gépház a futtatások, összetevők, szimbólumok, mellékletek és lekéréses kérelmek adatmegőrzési szabályzatainak konfigurálásához.
    • Válassza a Kiadásmegtartás lehetőséget a kiadásmegőrzési szabályzatok beállításához, valamint a kiadások törlésének vagy végleges megsemmisítésének konfigurálásához.
    • A Megőrzés lehetőséget választva beállíthatja, hogy mennyi ideig tartson manuális és automatizált tesztfuttatás.

    Képernyőkép a Project beállításainak adatmegőrzési beállításairól.

Fontos

Az Azure Pipelines már nem támogatja a folyamatonkénti adatmegőrzési szabályzatokat. A projektszintű adatmegőrzési szabályok használatát javasoljuk.

Futtatási adatmegőrzési szabályzatok beállítása

A legtöbb esetben nem kell bizonyos számú napnál tovább megőriznie a befejezett futtatásokat. Adatmegőrzési szabályzatok használatával szabályozhatja , hogy hány napig szeretné tartani az egyes futtatásokat a törlés előtt.

  1. Nyissa meg a fogaskerék ikonprojekt beállításainak Gépház lapját.

  2. Válassza a Gépház a Folyamatok szakaszban.

Figyelmeztetés

Az Azure DevOps már nem támogatja a folyamatonkénti adatmegőrzési szabályokat. A YAML és a klasszikus folyamatok adatmegőrzési szabályzatainak konfigurálásának egyetlen módja a fent leírt projektbeállításokon keresztül történik. A folyamatonkénti adatmegőrzési szabályzatok már nem konfigurálhatók.

Az egyes folyamatokhoz megtartandó legutóbbi futtatások számának beállításához egy kicsit több magyarázatra van szükség. Ennek a beállításnak az értelmezése a folyamatba épített adattár típusától függően változik.

  • Azure-adattárak: Az Azure Pipelines megőrzi a folyamat alapértelmezett ágához és az adattár minden védett ágához tartozó legújabb futtatások konfigurált számát. Védett ágnak minősül az az ág, amely bármilyen ágszabályzatot konfigurált.

    Tegyük fel például, hogy egy két ágat tartalmazó adattárat main és release. Tegyük fel, hogy az pipeline's default branch ág az main ág, és az release ág rendelkezik egy ágszabályzattal, így védett ág. Ebben az esetben, ha a szabályzatot három futtatás megtartására konfigurálta, akkor az ág legutóbbi három és main legutóbbi három futtatása release is megmarad. Emellett a folyamat legutóbbi három futtatása (az ágtól függetlenül) is megmarad.

    A logika további tisztázása érdekében tegyük fel, hogy a folyamat futtatási listája a következő, és a legutóbbi futtatás van a tetején. A táblázat azt mutatja, hogy mely futtatások lesznek megtartva, ha a legutóbbi három futtatás megtartására van konfigurálva (figyelmen kívül hagyva a napok számának hatását):

    Fuss # Ág Megtartva / Nem megtartva Miért?
    Futtatás 10 main Megtartotta Utolsó 3 a fő és a legújabb 3 a folyamathoz
    9. futtatás ág1 Megtartotta Utolsó 3 a folyamathoz
    Futtatás 8 ág2 Megtartotta Utolsó 3 a folyamathoz
    7. futtatás main Megtartotta Legújabb 3 a fő
    6. futtatás main Megtartotta Legújabb 3 a fő
    5. futtatás main Nincs megőrzve Sem a fő, sem a folyamat legújabb 3-a
    4. futtatás main Nincs megőrzve Sem a fő, sem a folyamat legújabb 3-a
    3. futtatás ág1 Nincs megőrzve Sem a fő, sem a folyamat legújabb 3-a
    2. futtatás Kiadás Megtartotta Legújabb 3 kiadás
    1. futtatás main Nincs megőrzve Sem a fő, sem a folyamat legújabb 3-a
  • Az összes többi Git-adattár: az Azure Pipelines megőrzi a teljes folyamathoz tartozó legújabb futtatások konfigurált számát.

  • TFVC: Az Azure Pipelines az ágtól függetlenül megtartja a teljes folyamathoz tartozó legújabb futtatások konfigurált számát.

A futtatás mely részei törlődnek

A futtatás törlésekor a következő információk törlődnek:

  • Naplók
  • Minden folyamat- és buildösszetevő
  • Minden szimbólum
  • Bináris fájlok
  • Teszteredmények
  • Metaadatok futtatása
  • Forráscímkék (TFVC) vagy címkék (Git)

Az univerzális csomagok, a NuGet, az npm és más csomagok nem kapcsolódnak a folyamatok megőrzéséhez.

Mikor törlődnek a futtatások?

A megőrzési szabályzatok feldolgozása naponta egyszer történik. Az az idő, amikor a szabályzatok feldolgozzák a változókat, mivel a munkát a nap folyamán terheléselosztási célokra terjesztjük. A folyamat nem módosítható.

A futtatás törlődik, ha az alábbi feltételek mindegyike teljesül:

  • Ez meghaladja a megőrzési beállításokban konfigurált napok számát
  • Ez nem az adatmegőrzési beállításokban konfigurált legutóbbi futtatások egyike
  • A rendszer nem jelöli meg határozatlan ideig megtartandóként
  • A kiadás nem őrzi meg

Adatmegőrzési bérlet automatikus beállítása folyamatfuttatásokon

A megőrzési bérletek a konfigurált megőrzési időszakon túli folyamatfuttatások élettartamának kezelésére szolgálnak. A megőrzési bérletek hozzáadhatók vagy törölhetők a bérlet API meghívásával futtatott folyamatokon. Ez az API egy szkripttel és előre definiált változók használatával hívható meg a folyamaton belül a runId és a definitionId esetében.

A megőrzési bérlet hozzáadható egy adott időszakra vonatkozó folyamatfuttatáshoz. Egy tesztkörnyezetben üzembe helyezendő folyamatfuttatás például rövidebb ideig tartható meg, míg az éles környezetben üzembe helyezés hosszabb ideig tartható.

Megőrzési bérlet manuális beállítása folyamatfuttatásokon

Manuálisan beállíthatja, hogy a folyamatfuttatások megtarthatók legyenek a Folyamatfuttatás részletei lap További műveletek menüjével.

futtatás manuális megőrzése

Futtatás törlése

A futtatások törléséhez használja a Folyamatfuttatás részletei lap További műveletek menüjét.

Feljegyzés

Ha a futtatásra jelenleg érvényes adatmegőrzési szabályzatok, a futtatás törlése előtt el kell távolítani őket. Útmutatásért lásd : Folyamatfuttatás részletei – futtatás törlése.

futtatás törlése

Kiadásmegőrzési szabályzatok beállítása

A klasszikus kiadási folyamatok kiadásmegőrzési szabályzatai határozzák meg, hogy egy kiadás és a hozzá társított futtatás mennyi ideig marad meg. Ezekkel a szabályzatokkal szabályozhatja, hogy hány napig szeretné tartani az egyes kiadásokat a legutóbbi módosítást vagy üzembe helyezést követően, valamint azt, hogy az egyes folyamatokhoz minimálisan hány kiadást kell megőrizni.

A kiadás megőrzési időzítője minden alkalommal alaphelyzetbe áll, amikor egy kiadást módosítanak vagy üzembe helyeznek egy fázisban. A megőrzendő kiadások minimális száma elsőbbséget élvez a napok számával szemben. Ha például azt adja meg, hogy legalább három kiadást őriz meg, a legutóbbi három a megadott napok számától függetlenül határozatlan ideig megmarad. Ezeket a kiadásokat azonban manuálisan is törölheti, ha már nincs rájuk szüksége. A kiadásmegőrzés működésével kapcsolatos további részletekért tekintse meg az alábbi gyakori kérdéseket.

A kiadási folyamat szerzőjeként testre szabhatja a folyamat kiadásaira vonatkozó adatmegőrzési szabályzatokat a Megőrzés lapon.

A YAML és a buildfolyamatok adatmegőrzési szabályzata megegyezik. A folyamat adatmegőrzési beállításait a Project Gépház for Pipelinesban láthatja a Gépház szakaszban.

Globális kiadásmegőrzési szabályzat

Ha helyszíni Team Foundation-kiszolgálót vagy Azure DevOps Servert használ, megadhatja a kiadásmegőrzési szabályzat alapértelmezett értékeit és maximumait egy projekthez. Azt is megadhatja, hogy a kiadások végleges megsemmisítése mikor történik (a buildkezelő Törölt lapjáról eltávolítva).

Helyszíni kiadásmegőrzési beállítások

Az Azure DevOps Services használata esetén megtekintheti, de nem módosíthatja a projekt beállításait.

A globális kiadásmegőrzési szabályzat beállításai a projekt kiadásmegőrzési beállításaiból tekinthetők meg:

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

A maximális megőrzési szabályzat meghatározza, hogy az összes kiadási folyamat esetében mennyi ideig tarthatók meg a kiadások. A kiadási folyamatok szerzői nem konfigurálhatnak beállításokat a definícióikhoz az itt megadott értékeken túl.

Az alapértelmezett adatmegőrzési szabályzat az összes kiadási folyamat alapértelmezett adatmegőrzési értékeit állítja be. A buildelési folyamatok szerzői felülbírálhatják ezeket az értékeket.

A megsemmisítési szabályzat segít megőrizni a kiadásokat a törlés után egy bizonyos ideig. Ez a szabályzat nem bírálható felül az egyes kiadási folyamatokban.

Gyűjteményszintű adatmegőrzési szabályzatok beállítása

Helyszíni kiszolgálók esetén a gyűjteményszintű adatmegőrzési szabályzatokat egyéni adatmegőrzési szabályokkal is beállíthatja. Ezek a megőrzési szabályzatok a klasszikus buildelési folyamatokra vonatkoznak. A lap a https://{your_server}/{collection_name}/_settings/buildqueue maximális értékeket és az alapértelmezett értékeket szabályozza.

Képernyőkép a gyűjteményszintű adatmegőrzési szabályzatok konfigurálásáról.

A Fájlok másolása feladat használata az adatok hosszabb mentéséhez

A Fájlok másolása feladat használatával hosszabb ideig mentheti a build- és összetevőadatokat, mint a megőrzési szabályzatokban beállítottak. A Fájlok másolása feladat előnyösebb a Build-összetevők közzététele feladatnál , mert a Build-összetevők közzététele tevékenységgel mentett adatok rendszeres időközönként törlődnek és törlődnek.

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

GYIK

Ha meghatározatlan ideig megőrzendő futtatást vagy kiadást jelölek meg, a megőrzési szabályzat továbbra is érvényes?

Szám Sem a folyamat adatmegőrzési szabályzata, sem a rendszergazda által megadott maximális korlátok nem lesznek alkalmazva, amikor egy adott futtatást vagy kiadást meghatározatlan ideig meg kell őrizni. Addig marad, amíg meg nem szünteti a határozatlan ideig történő megőrzését.

Hogyan adja meg, hogy az éles környezetben üzembe helyezett futtatások hosszabb ideig megmaradnak?

Ha klasszikus kiadásokat használ az éles környezetben való üzembe helyezéshez, szabja testre a kiadási folyamat adatmegőrzési szabályzatát. Adja meg, hogy hány napig kell megőrizni az éles környezetben üzembe helyezett kiadásokat. Emellett azt is jelezheti, hogy az adott kiadáshoz társított futtatásokat meg kell őrizni. Ez felülírja a futtatási adatmegőrzési szabályzatot.

Ha többfázisú YAML-folyamatokat használ az éles környezetben való üzembe helyezéshez, az egyetlen konfigurálható adatmegőrzési szabályzat a projekt beállításai között van. A megőrzés nem szabható testre azon környezet alapján, amelyre a build telepítve van.

Nem jelöltem meg a futtatásokat, hogy határozatlan ideig megőrizzék. Azt látom azonban, hogy sok futtatás marad meg. Hogyan akadályozhatom meg ezt?

Ennek az alábbi okai lehetnek:

  • A futtatásokat a projekt egyik munkatársa jelöli meg, hogy határozatlan ideig megmaradjon.
  • A futtatásokat egy kiadás használja fel, a kiadás pedig megőrzési zárolást tartalmaz ezeken a futtatásokon. Szabja testre a kiadásmegőrzési szabályzatot a fent ismertetett módon.

Ha úgy véli, hogy a futtatásokra már nincs szükség, vagy ha a kiadásokat már törölték, manuálisan törölheti a futtatásokat.

Hogyan működik a "minimálisan megtartandó kiadások" beállítás?

A minimálisan megtartandó kiadások a fázis szintjén vannak meghatározva. Ez azt jelzi, hogy az Azure DevOps mindig megtartja a megadott számú utolsó üzembe helyezett kiadást egy fázisban, még akkor is, ha a kiadások megőrzési ideje lejárt. A kiadások a minimális kiadások alatt lesznek figyelembe véve, hogy csak akkor tartsanak meg egy szakaszt, amikor az üzembe helyezés ezen a fázison kezdődött. A rendszer a sikeres és a sikertelen üzembe helyezést is figyelembe veszi. A jóváhagyásra váró kiadások nem tekinthetők meg.

Hogyan határozható meg a megőrzési időszak, amikor a kiadás több különböző megőrzési időszakú fázisban van üzembe helyezve?

A végső megőrzési időszak úgy dönt, hogy figyelembe veszi a napokat, hogy megtartsa a kiadás üzembe helyezésének összes fázisának beállításait, és legfeljebb napokig tart, amíg megtartja őket. A megtartandó minimális kiadásokat a fázis szintjén kell szabályozni, és nem változnak a több fázisban üzembe helyezett kiadás alapján, vagy sem. A társított összetevők megőrzése akkor lesz alkalmazható, ha a kiadás olyan fázisban van üzembe helyezve, amelyre igaz érték van beállítva.

Töröltem egy szakaszt, amelyhez régi kiadások tartoznak. Milyen megőrzést kell figyelembe venni ebben az esetben?

Mivel a szakasz törölve van, a szakaszszintű adatmegőrzési beállítások jelenleg nem alkalmazhatók. Az Azure DevOps visszaáll a projektszintű alapértelmezett adatmegőrzésre ilyen esetben.

A szervezetem megköveteli, hogy a buildeket és a kiadásokat hosszabb ideig őrizzük meg, mint amennyit a beállítások megengednek. Hogyan kérhetek hosszabb adatmegőrzési időt?

A megőrzési beállításokon keresztül engedélyezettnél hosszabb futtatás vagy kiadás megőrzésének egyetlen módja az, ha manuálisan megjelöli, hogy határozatlan ideig megőrzendő legyen. A hosszabb megőrzési beállítást nem lehet manuálisan konfigurálni. Segítségért forduljon az Azure DevOps ügyfélszolgálatához .

Azt is megismerheti, hogy a REST API-k használatával letölthet információkat és összetevőket a futtatásokról, és feltöltheti őket a saját tárházába vagy összetevő-tárházába.

Elvesztettem néhány futást. Van mód ezek visszaszerzésére?

Ha úgy véli, hogy a szolgáltatás hibája miatt megszakadt a futtatás, azonnal hozzon létre egy támogatási jegyet az elveszett adatok helyreállításához. Ha egy builddefiníciót több mint egy héttel korábban manuálisan töröltek, nem lehet helyreállítani. Ha a futtatások egy adatmegőrzési szabályzat miatt a várt módon lettek törölve, nem lehet helyreállítani az elveszett futtatásokat.

Hogyan használni az Build.Cleanup ügynökök képességeit?

Build.Cleanup Az ügynökökre vonatkozó képesség beállítása esetén a készlet karbantartási feladatai csak ezekre az ügynökökre lesznek irányítva, így a többi szabadon végezhet rendszeres munkát. A folyamatfuttatás törlésekor az Azure DevOpson kívül tárolt összetevők az ügynököken futtatott feladaton keresztül törlődnek. Ha az ügynökkészlet tele lesz tisztítási feladatokkal, ez problémát okozhat. Ennek a megoldására az a megoldás, hogy kijelöli a készlet azon ügynökeinek egy részét, amelyek a tisztítási ügynökök. Ha bármelyik ügynök be van Build.Cleanup állítva, csak ezek az ügynökök futtatják a tisztítási feladatokat, így a többi ügynök továbbra is futtathatja a folyamatfeladatokat. A Törlés funkció az Ügynök képességeire való navigálással és az 1azzal>egyenlő beállítással Build.Cleanup engedélyezhető.

Mi történik a fájlmegosztási összetevőkkel a build törlésekor?

A fájlmegosztási összetevőkkel rendelkező buildek törlésekor a rendszer egy új buildelési feladatot várólistára állít a buildügynökön a fájlok törléséhez. A rendszer kiválaszt egy ügynököt a feladat végrehajtásához a következő feltételek alapján: Elérhető-e olyan ügynök, amely Build.Cleanup rendelkezik képességgel? Elérhető a buildet futtató ügynök? Elérhető egy ügynök ugyanabból a készletből? Elérhető egy hasonló készletből származó ügynök? Van elérhető ügynök?

A kiadás részeként közzétett automatizált teszteredmények megmaradnak a kiadás törléséig?

A kiadás egy szakaszában közzétett teszteredmények megmaradnak a teszteredményekhez konfigurált adatmegőrzési szabályzatban meghatározottak szerint. A teszteredmények mindaddig nem maradnak meg, amíg meg nem őrzik a kiadást. Ha a teszt eredményeire a kiadásig szüksége van, állítsa be az automatikus tesztfuttatások adatmegőrzési beállításait a Project beállításai között a Soha törlés beállításra. Ez biztosítja, hogy a teszteredmények csak a kiadás törlésekor legyenek törölve.

Törlik a manuális teszteredményeket?

Szám A manuális teszteredmények nem törlődnek.

Hogyan tarthatom meg a verziókövetési címkéket?

Figyelemfelhívás

A forrásfeladatból nem automatikusan létrehozott buildelési folyamat során alkalmazott verziókövetési címkék vagy címkék megmaradnak, még akkor is, ha a build törölve van. Azok a verziókövetési címkék azonban, amelyek a buildelés során a Források feladatból lettek automatikusan létrehozva, a buildösszetevők részének számítanak, és a build törlésekor törölve lesznek.

Ha a verziókövetési címkéket a build törlésekor is meg kell tartania, akkor azokat vagy a folyamat egyik feladatának részeként kell alkalmazni, a folyamaton kívül kell címkézni, vagy magát a buildet kell korlátlan ideig megőrizni.

Mi történik a más folyamatokban felhasznált folyamatokkal?

A klasszikus kiadások megőrzik az automatikusan felhasznált folyamatokat.

Mi történik a más folyamatokban felhasznált folyamatokkal?

A klasszikus kiadások megőrzik az automatikusan felhasznált folyamatokat. HA YAML-et használ, létrehozhat egy többfázisú YAML-folyamatot is, amely a kiadást képviseli, és egy másik YAML-folyamatot használ fel erőforrásként. Az erőforrás-folyamat automatikusan megmarad, amíg a kiadási folyamat megmarad.