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:
Közvetlenül a hírcsatornában közzétett csomagok.
Egy felsőbb rétegbeli forrásból mentett csomagok.
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:
- Tiltsa le a megfelelő felsőbb rétegbeli forrást.
- Tegye közzé a csomagot.
- 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:
Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.
Válassza az Összetevők lehetőséget, majd válassza ki a hírcsatornát a legördülő menüből.
A fogaskerék ikonra kattintva lépjen a Hírcsatorna beállításaihoz, majd válassza a Felsőbb rétegbeli források lehetőséget.
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.
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.