Sobes.tech
Middle

Milyen megközelítést alkalmaz a build-artefaktumok tárolására, és mely rendszerekben érdemes ezt megtenni?

sobes.tech MI

Válasz az MI-től

Mi központosított artefaktár tárolási megközelítést alkalmazunk. Ehhez a legjobban specializált rendszerek alkalmasak.

A fő rendszerek a build artefaktumok tárolására:

  • Nexus Repository Manager: Támogat sokféle repository formátumot (Maven, npm, Docker, NuGet és mások), kiterjedt kezelési, biztonsági és integrációs funkciókkal rendelkezik.
  • Artifactory: Hasonló a Nexushoz, de gyakran funkcionálisabbnak tartják, különösen összetett vállalati környezetekben. Szintén támogat sok formátumot.
  • GitHub Packages: Beépített artefakt tároló a GitHubban, integrálva a GitHub Actions munkafolyamataival. Hasznos azoknak a projekteknek, amelyek már használják a GitHubot.
  • GitLab Package Registry: Hasonló a GitHub Packages-hez, de GitLab számára. Integrálva a GitLab CI/CD-vel.
  • Cloud-native tárolók:
    • Amazon S3: Egyszerű tárolóként használható statikus artefaktumok számára, de hiányzik a függőségkezelés funkciója, mint a Nexus vagy Artifactory esetében.
    • Google Cloud Storage: Hasonló az Amazon S3-hoz.
    • Azure Blob Storage: Hasonló az Amazon S3-hoz és a Google Cloud Storage-hoz.

A rendszer kiválasztása a projekt igényeitől, a használt technológiáktól, a biztonsági szinttől és az infrastruktúra méretétől függ. A legtöbb projekt esetében a Nexus vagy az Artifactory az alapértelmezett választás.

// Maven konfiguráció példa artefaktok Nexusba való feltöltéséhez
<distributionManagement>
  <repository>
    <id>nexus</id>
    <name>Nexus kiadási tárhely</name>
    <url>http://sajat-nexus-url/repository/maven-releases/</url>
  </repository>
  <snapshotRepository>
    <id>nexus</id>
    <name>Nexus snapshot tárhely</name>
    <url>http://sajat-nexus-url/repository/maven-snapshots/</url>
  </snapshotRepository>
</distributionManagement>
// Docker parancs az Artifactory-ból való kép betöltéséhez
docker pull sajat-artifactory-url/sajat-kep:latest

A központosított tárolás fő előnyei:

  • Verziókezelés és menedzsment: Könnyen nyomon követhető az artefaktumok verziója.
  • Változatlanság: A közzétett artefaktumok nem változhatnak.
  • Egyszerű telepítés: Könnyű beszerezni a szükséges artefaktum verziókat a telepítéshez.
  • Dependencia cache: Gyorsítja az építést külső függőségek helyi cache-elésével.
  • Biztonság: Hozzáférés-ellenőrzés az artefaktumokhoz.