Megosztás a következőn keresztül:


Azure-összetevők felsőbb rétegbeli forrásai

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

A felsőbb rétegbeli források használatával kényelmesen tárolhatja a különböző forrásokból származó csomagokat egyetlen hírcsatornában. Ide tartoznak a közzétett csomagok, valamint a külső hírcsatornákból és nyilvános nyilvántartásokból, például NuGet.org, npmjs.com, Maven Central és PyPI által használt csomagok. Miután engedélyezte a felsőbb rétegbeli forrásokat, az ezekből a felsőbb rétegbeli forrásokból telepített összes csomagot a rendszer automatikusan menti a hírcsatornába.

Feljegyzés

A csomagok felsőbb rétegből való mentéséhez rendelkeznie kell a Hírcsatorna és a Felsőbb rétegbeli olvasó (Közreműködő) szerepkörével. További részletekért lásd : Engedélyek kezelése.

Előnyök

A felsőbb rétegbeli források engedélyezése számos előnnyel jár a termék függőségeinek egyetlen csatornán belüli kezeléséhez:

  • Egyszerűség: Ha az összes csomagot egyetlen hírcsatornán teszi közzé, az leegyszerűsíti az olyan konfigurációs fájlokat, mint a NuGet.config, az npmrc vagy a settings.xml. A konfigurációs fájl egyetlen hírcsatornájával csökkentheti a hibák és hibák esélyét, és egyszerűsítheti a telepítést.

  • Determinizmus: a hírcsatorna sorrendben oldja fel a csomagkéréseket, ami nagyobb konzisztenciát eredményez a kód újraépítése során.

  • Származási hely: A hírcsatorna megőrzi a felsőbb rétegbeli forrásokból mentett csomagok adatait. Ez lehetővé teszi annak ellenőrzését, hogy az eredeti csomagot használja-e, és nem egy másolatot vagy egy potenciálisan rosszindulatú verziót.

  • Nyugalom: A rendszer automatikusan menti a felsőbb rétegbeli forrásokból telepített összes csomagot a hírcsatornába. Ez azt jelenti, hogy még akkor is, ha a felsőbb rétegbeli forrás le van tiltva, eltávolítva vagy karbantartás alatt áll, továbbra is magabiztosan fejleszthet és építhet, mert a csomag egy példánya szerepel a hírcsatornában.

Ajánlott eljárások – csomagfogyasztók

A felsőbb rétegbeli források csomagfogyóként nyújtott előnyeinek teljes kihasználásához kövesse az alábbi ajánlott eljárásokat:

Használjon egyetlen hírcsatornát a konfigurációs fájlban:

Annak érdekében, hogy a hírcsatorna determinisztikus visszaállítást biztosíthasson, győződjön meg arról, hogy a konfigurációs fájl, például a nuget.config vagy a .npmrc csak egy olyan hírcsatornára hivatkozik, amelyen engedélyezve van a felsőbb rétegbeli források használata. Lásd az alábbi példát:

<packageSources>
  <clear />
  <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/nuget/v3/index.json" />
</packageSources>

Feljegyzés

A NuGet több konfigurációs fájlt is lefordít, hogy meghatározza az alkalmazandó beállítások teljes készletét. A használatával <clear />hatékonyan figyelmen kívül hagyhatja a magasabb szintű konfigurációs fájlokban megadott összes többi csomagforrást.

registry=https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/npm/registry/
always-auth=true

Rendelje meg szándékosan a felsőbb rétegbeli forrásokat:

Ha kizárólag nyilvános adatbázisokat használ, például nuget.org vagy npmjs.com, a felsőbb rétegbeli források sorrendje irreleváns. A hírcsatorna kérései a keresési sorrend szakaszban részletezett sorrendet követik.

Ha azonban több forrást is kezel, amelyek a hírcsatornák és a nyilvános regisztrációs adatbázisok kombinációját is tartalmazhatják, a rendszer minden felsőbb rétegbeli forrást a hírcsatorna konfigurációs beállításaiban felsorolt sorrendben keres. Ebben az esetben azt javasoljuk, hogy a nyilvános regisztrációs adatbázisokat helyezze el a felsőbb rétegbeli források listájában.

Egyes egyedi esetekben egyes szervezetek úgy döntenek, hogy testre szabják a nyílt forráskódú szoftvercsomagokat (OSS). Ez magában foglalhatja a biztonsági problémák kezelését, a funkciók bővítését vagy a csomag belső újraépítését igénylő konkrét követelmények teljesítését ahelyett, hogy közvetlenül beszerezné egy nyilvános adattárból. Ha szervezete követi ezt a gyakorlatot, célszerű a módosított OSS-csomagokat tartalmazó felsőbb rétegbeli forrást a nyilvános csomagkezelők elé helyezni. Ez az elrendezés biztosítja a szervezet testreszabott verzióinak használatát.

Használja a javasolt alapértelmezett nézetet:

Ha egy távoli hírcsatornát felsőbb rétegbeli forrásként ad hozzá, ki kell választania a hírcsatorna nézetét. Ez lehetővé teszi a felsőbb rétegbeli források számára az elérhető csomagok készletének összeállítását. További részletekért tekintse meg az elérhető csomagok készletének felsőbb rétegbeli összeállítását.

Ajánlott eljárások: hírcsatorna-tulajdonosok/csomagkiadók

Annak érdekében, hogy a hírcsatorna egyszerűen konfigurálható legyen felsőbb rétegbeli forrásként, fontolja meg az alábbi ajánlott eljárásokat:

Használja az alapértelmezett nézetet:

Az összes újonnan létrehozott hírcsatorna alapértelmezett nézete a @Local nézet, amely tartalmazza a hírcsatornában közzétett vagy a felsőbb rétegbeli forrásokból mentett összes csomagot.

Ha más nézeteket, például az újonnan kiadott csomagverziók nézetét szeretné használni, előléptetheti a csomagot a @Release nézetre, majd elérhetővé teheti azt a csomagfogyasztók számára.

Csomagdiagram létrehozása:

Csomagdiagram létrehozásához egyszerűen csatlakozzon a hírcsatorna alapértelmezett nézetéhez, és telepítse a megosztani kívánt csomagot. Amikor a csomagot az alapértelmezett nézetbe menti, a használni kívánt felhasználók feloldhatják a csomagdiagramot, és telepíthetik a kívánt csomagot. A felsőbb rétegbeli forrásokból származó csomagok a megfelelő felsőbb rétegbeli forrás konfigurált nézete alapján jelennek meg.

Keresési sorrend

A több hírcsatornát, például a NuGetet és a Mavent támogató nyilvános csomagkezelők esetében a hírcsatornák lekérdezésének sorrendje néha nem egyértelmű vagy nem egyértelmű. A NuGetben például a rendszer párhuzamos lekérdezéseket küld a konfigurációs fájl összes hírcsatornájába, és a válaszok feldolgozása első, első lépésben (FIFO) történik.

A felsőbb rétegbeli források ezt a nem determinisztikus viselkedést úgy oldják meg, hogy az alábbi sorrendben keresik a hírcsatornát és annak felsőbb rétegbeli forrásait:

  1. Közvetlenül a hírcsatornában közzétett csomagok.

  2. Egy felsőbb rétegbeli forrásból mentett csomagok.

  3. A felsőbb rétegbeli forrásokból elérhető csomagok. A rendszer minden felsőbb rétegbeli forrást a hírcsatorna konfigurációjában felsorolt sorrendben keres.

A gyors keresés funkció teljes kihasználásához azt javasoljuk, hogy csak egy hírcsatornát vegyen fel a konfigurációs fájlba.

Feljegyzés

A NuGet Csomagkezelővel nem lehet csomagokat keresni a felsőbb rétegbeli forrásokban.

Csomagok mentése felsőbb rétegbeli forrásokból

Ha engedélyezi a felsőbb rétegbeli forrásokat a hírcsatornához, és egy csomagot telepít egy felsőbb rétegbeli forrásból, a rendszer a csomag automatikus másolatát menti a hírcsatornába. Ez a gyakorlat javítja a letöltési teljesítményt, és megőrzi a hálózati sávszélességet.

Például közvetlenül a felsőbb rétegbeli forrásból telepíthet csomagokat egy olyan paranccsal, mint az npm install express. Másik lehetőségként előfordulhat, hogy a csomagok egy függőségfeloldási folyamat részeként települnek. Az utóbbi forgatókönyvben az expressz telepítése a függőségeit is mentené, például az elfogadásokat.

Feljegyzés

Az egyéni felsőbb rétegbeli források csak npm-csomagok esetén támogatottak.

Felsőbb rétegbeli forrásokból származó csomagok felülbírálása

A felsőbb rétegbeli források engedélyezésekor fontos megjegyezni, hogy egy olyan csomagverzió közzététele, amely már létezik egy felsőbb rétegbeli forrásban, nem lesz lehetséges. Ha például engedélyezi a NuGet.org a felsőbb rétegben, nem fogja tudni közzétenni a Newtonsoft.Json 10.0.3 csomagot, mivel ez a pontos verzió már létezik NuGet.org.

Ha olyan csomagverziót kell közzétennie, amely már megtalálható az egyik felsőbb rétegbeli forrásban, kövesse az alábbi lépéseket:

  1. Tiltsa le a megfelelő felsőbb rétegbeli forrást.
  2. Tegye közzé a csomagot.
  3. Engedélyezze újra a felsőbb rétegbeli forrást.

Feljegyzés

A csomagverziók nem módosíthatók. A mentett csomagok akkor is megmaradnak a hírcsatornában, ha a felsőbb rétegbeli forrás le van tiltva vagy eltávolítva.

Felsőbb rétegbeli források állapotának állapota

Ha egy hírcsatorna hibás felsőbb rétegbeli forrással rendelkezik, az ugyanahhoz a protokollhoz tartozó csomagok metaadatai már nem frissíthetők. A felsőbb rétegbeli források állapotának ellenőrzéséhez kövesse az alábbi lépéseket:

  1. Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.

  2. Válassza az Összetevők lehetőséget, majd válassza ki a hírcsatornát a legördülő menüből.

  3. A fogaskerék ikonra fogaskerék ikon kattintva lépjen a Hírcsatorna beállításaihoz, majd válassza a Felsőbb rétegbeli források lehetőséget.

    Képernyőkép a felsőbb rétegbeli források legutóbbi szinkronizálási állapotáról.

  4. Ha bármilyen hiba történik, megjelenik egy figyelmeztető üzenet. Ha a Sikertelen állapotra kattint, további részleteket is megad, beleértve a hiba okát és a megoldásra vonatkozó utasításokat.

    Képernyőkép a szinkronizálási hiba részleteiről.

Feljegyzés

Az olyan nyilvános regisztrációs adatbázisok esetében, mint a NuGet.org, 3–6 órás késés van a csomag nyilvános regisztrációs adatbázisba való leküldése és a letöltéshez való elérhetővé válása között. Ez a késés a feladatok időzítésétől és az adatok propagálásától függ. Ha azonban a felsőbb rétegbeli forrás egy Azure Artifacts-hírcsatorna, a késés általában nem több, mint néhány perc.

Offline felsőbb rétegbeli források

A felsőbb rétegbeli források értékes védelmet biztosítanak a fogyasztók és az infrastruktúra számára, védve őket az előre nem látható kimaradásoktól. Ha egy csomagot egy felsőbb rétegbeli forrásból telepít, a rendszer a csomag egy példányát menti a hírcsatornába. Ha a felsőbb rétegbeli forrás leállást, karbantartást végez, vagy átmenetileg elérhetetlenné válik, akkor is lekérheti a szükséges csomagokat a hírcsatornából, és folytathatja a fejlesztést.

GYIK

K: Nem találom a csomagot, annak ellenére, hogy látom az egyik hírcsatornám felsőbb rétegében?

Válasz: A felsőbb rétegbeli forrásokból származó csomagok nem sokkal a közzétételük után elérhetővé válnak az alsóbb rétegbeli hírcsatornában. A csomag azonban csak a hírcsatornába való mentés után lesz látható az olvasók számára. A csomag akkor lesz mentve, ha egy hírcsatorna- és felsőbb rétegbeli olvasóval (közreműködő) vagy magasabb engedélyekkel rendelkező felhasználó telepíti a verziót az alsóbb rétegbeli hírcsatornába. Ez aktiválja az alsóbb réteget, hogy mentse a csomag egy példányát a felsőbb rétegből, majd véglegesen menti, és az alsóbb rétegben minden olvasó számára elérhetővé válik. Ekkor válik láthatóvá a csomagverzió a webes felhasználói felület csomagverziók szakaszában.

K: Mik azok a hírcsatornanézetek?

Válasz: A nézetek lehetővé teszik a fejlesztők számára, hogy szelektíven megosztják a tesztelt és ellenőrzött csomagverziók egy részét, kivéve azokat a csomagokat, amelyek még fejlesztés alatt állnak, vagy amelyek nem felelnek meg a minőségi feltételeknek. További információ: Mik azok a hírcsatornanézetek.

K: Nem találom azt a hírcsatornát, amelyet felsőbb rétegbeli forrásként szeretnék konfigurálni?

Válasz: Győződjön meg arról, hogy a hírcsatorna tulajdonosa egy nézetet felsőbb rétegbeli forrásként oszt meg.

K: Le tudja tölteni a Hírcsatorna-olvasó szerepkörrel rendelkező felhasználók a csomagokat egy felsőbb rétegbeli forrásból?

V.: Nem. Az Azure Artifacts-hírcsatornában hírcsatorna-olvasó szerepkörrel rendelkező felhasználók csak a hírcsatornába mentett csomagokat tölthetik le. A csomagok akkor lesznek mentve a hírcsatornába, amikor egy hírcsatorna- és felsőbb rétegbeli olvasó (közreműködő),egy hírcsatorna-közzétevő (közreműködő) vagy egy hírcsatorna-tulajdonos telepíti ezeket a csomagokat a felsőbb rétegből.

K: Mi történik, ha egy felhasználó töröl vagy töröl egy felsőbb rétegbeli forrásból mentett csomagot?

V: A csomag elérhetetlenné válik a hírcsatornából való letöltéshez, és a verziószám véglegesen le van foglalva. Emellett a csomag nem lesz mentve a felsőbb rétegbeli forrásból. A csomag korábbi és újabb verziói nem változnak.

K: Mi történik, ha egy felhasználó elavulttá tesz egy felsőbb rétegbeli forrásból mentett csomagot?

Válasz: Amikor egy felhasználó elavulttá teszi a csomagot, egy figyelmeztető üzenet jelenik meg a csomag metaadataiban, amely akkor jelenik meg, amikor a csomagot megtekintik vagy telepítik a hírcsatornából.