Sobes.tech
Middle

Hogyan működnek az artefaktumok létrehozására vonatkozó utasítások, mit jelentenek és hol tárolódnak az eredmények?

sobes.tech MI

Válasz az MI-től

Az artefaktumok (buildok) létrehozására vonatkozó utasítások általában szkriptek vagy konfigurációs fájlok, amelyek leírják a lépések sorozatát, amelyek szükségesek egy szoftvertermék vagy annak összetevőinek összeállításához, fordításához, csomagolásához és előkészítéséhez.

Különböző módokon valósíthatók meg:

  • Makefile: Hagyományos eszköz a függőségek alapú projektek automatizálására.
  • Szkriptek különböző nyelveken: Bash, Python, Groovy (Jenkinshez), PowerShell és más szkriptnyelven.
  • Konfigurációs formátumok: YAML (GitLab CI, GitHub Actions, Azure DevOps Pipelines számára), JSON (ritkán az összeállításhoz, inkább metaadatokhoz), XML (Mavenhez).

Formátum példák:

# Makefile példa
build:
	gcc main.c -o myapp
	zip myapp.zip myapp
# .gitlab-ci.yml példa
build_job:
  stage: build
  script:
    - gcc main.c -o myapp
    - zip myapp.zip myapp
  artifacts:
    paths:
      - myapp.zip
# Bash szkript példa
#!/bin/bash
gcc main.c -o myapp
zip myapp.zip myapp

Az utasítások meghatározzák:

  1. Előkészítő lépések: Forráskód beszerzése (pull a repository-ból), függőségek telepítése.
  2. Fő összeállítási lépések: Fordítás, linkelés, tesztek futtatása.
  3. Csomagolás: Archívumok, konténerképek, telepítők létrehozása.
  4. Utólagos lépések: Artefaktumok aláírása, közzététele.

A kapott artefaktumokat speciális artefaktum tárolókban tárolják. Ezek központi tárolók, amelyek célja a bináris fájlok és más összeállítási eredmények tárolása és kezelése. Példák:

  • Nexus Repository Manager: Támogat különböző artefakt típusokat (Maven, npm, Docker, NuGet stb.).
  • JFrog Artifactory: Hasonló Nexus, többtípusú tároló.
  • Docker Registry: Kifejezetten Docker képek tárolására (Docker Hub, GitLab Container Registry, Azure Container Registry).
  • S3-kompatibilis tárolók: Amazon S3, MinIO, általános fájltárolásra használják, néha kiegészítő eszközökkel az indexeléshez.

Az artefaktum tárolókban való tárolás verziókezelést, hozzáférés-ellenőrzést, könnyű telepítést és más CI/CD eszközökkel való integrációt biztosít. Ez garantálja, hogy a telepítés során pontosan azok az artefaktum verziók kerüljenek felhasználásra, amelyek sikeresen összeálltak és teszteltek.