Csomagdiagramok az Azure Artifactsben
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
A csomagok kiadásakor elengedhetetlen annak biztosítása, hogy a csomag minden függősége elérhető legyen a hírcsatornában egy felsőbb rétegbeli forrásból való felhasználással. Miután felhasznált egy csomagot egy felsőbb rétegbeli forrásból, a rendszer egy másolatot ment a hírcsatornába. Ez biztosítja, hogy még ha a felsőbb rétegbeli forrás is elérhetetlenné válik, a másolat továbbra is elérhető lesz Ön és a hírcsatorna felhasználói számára is.
Az elérhető csomagok készletének összeállítása a felsőbb rétegekkel
Mivel az Azure Artifacts-hírcsatornák más hírcsatornákkal is rendelkezhetnek felsőbb rétegként, lehetséges, hogy a felsőbb rétegbeli források ciklusai is létrejönnek, ahol az A előstreamek a B csatornához jutnak, amely a C csatornához, végül pedig a C-folyamok visszatáplálása az A csatornához. Az ilyen ciklusok, ha nem megfelelően vannak kezelve, a csomagkérelemekkel kapcsolatos problémákhoz vezethetnek, olyan végtelen hurkot hozva létre, amelyben a felhasználó egy csomagot kér az A hírcsatornából, majd A kéréseket b, B kéréseket a C-től, végül a C visszakér az A-hez egy hurkot alkotva.
A felsőbb rétegbeli források az ilyen helyzetek megelőzésére szolgálnak. Amikor egy hírcsatorna megkeres egy csomagot a felsőbb rétegbeli forrásokból, a csomagokat az adott felsőbb rétegbeli forráshoz konfigurált nézetben kapja meg. Ez azt jelenti, hogy az A adatcsatorna lekérdezése nem aktivál átvitt lekérdezést a C hírcsatornába (A – B –>> C), mert a nézetek írásvédettek. Ennek eredményeképpen az A hírcsatorna hozzáféréssel rendelkezik minden olyan C csomaghoz, amelyet egy felhasználó korábban a B-be mentett, de a C-ben elérhető csomagok teljes készletéhez nem.
Ez a B hírcsatornára helyezi a felelősséget annak biztosítása érdekében, hogy a helyi csomagok teljes függőségi gráfot képviseljenek. Így azok a felhasználók, akik egy másik hírcsatornából származó felsőbb rétegbeli forráson keresztül használják a B csomagot, sikeresen megoldhatják a gráfot, és problémák nélkül telepíthetik a kívánt B-csomagot .
Példa: az elérhető csomagok halmazának létrehozása
Tekintsünk három hírcsatornát: Fabrikam, Contoso és AdventureWorks. Ebben az ábrán a Fabrikam-hírcsatornához elérhető csomagokat vizsgáljuk meg, miközben felsőbb rétegbeli forrásokat vezetünk be.
A Fabrikam kezdetben nem rendelkezik felsőbb rétegbeli forrásokkal, így a Fabrikamhoz csatlakozó felhasználók csak a Widgets csomag 1.0.0-s és 2.0.0-s verzióit telepíthetik. Hasonlóképpen, a Contoso nem rendelkezik felsőbb rétegbeli forrásokkal, így a Contoso-hoz csatlakozó felhasználók csak a Gizmos-csomag 1.0.0-s és 3.0.0-s verzióit telepíthetik. Ugyanez vonatkozik az AdventureWorks-hírcsatornára is, ahol a csatlakoztatott felhasználók csak a Minialkalmazások csomag 1.0.0-s és 2.0.0-s vagy 1.0.0-s verzióját telepíthetik.
Most vizsgáljuk meg azt a forgatókönyvet, amelyben a Contoso az AdventureWorks-et felsőbb rétegbeli forrásként adja hozzá. Amikor egy felhasználó csatlakozik a Contoso-hoz, a csomagok szélesebb köréhez férhet hozzá. A Gizmos, a Minialkalmazások vagy a Dolgok bármelyik verzióját telepíthetik. Ha például a felhasználó telepíti a Gadgets@2.0.0-s verziót, a rendszer ezt az adott csomagverziót menti a Contoso-ba az AdventureWorksre mutató hivatkozással.
Most tekintsük át azt a helyzetet, amikor a Fabrikam-hírcsatorna a Contoso-t felsőbb rétegbeli forrásként adja hozzá. A Fabrikamhoz csatlakozó felhasználók telepíthetik a Widgetek bármely verzióját, a Gizmos bármely verzióját, de csak a Minialkalmazások MENTETT verzióit (2.0.0).
A felhasználó nem fogja tudni telepíteni a Minialkalmazások 1.0.0-s verzióját vagy a Dolgok egyik verzióját sem, mert ezeket a csomagverziókat a Contoso-felhasználó nem mentette a Contoso-ba.