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.