Sobes.tech
Junior

Honnan szerzi a runner a végrehajtandó kódot?

sobes.tech MI

Válasz az MI-től

A Runner a verziókezelő rendszer tárolójából szerzi be a végrehajtandó kódot, általában olyan protokollon keresztül, mint a Git. A repository pontos URL-je és az ág (vagy címke, commit) meg van adva a pipeline konfigurációjában, amely elindítja ezt a runnert.

A beszerzési folyamat a következőképpen nézhet ki:

  1. A Runner megkapja a parancsot, hogy hajtson végre egy feladatot a CI/CD orchestrátortól (például GitLab CI/CD, GitHub Actions, Jenkins).
  2. A parancs mellett információk kerülnek átadásra a feladatról, beleértve a repository linkjét, az ágat/commitot és a végrehajtási kontextust.
  3. A Runner klónozza a repository-t (vagy annak egy részét) ideiglenes helyi munkaterületére.
  4. Sikeres klónozás után a runner átáll a megadott commitra, ágra vagy címkére, biztosítva, hogy a megfelelő kódverzióval dolgozik.

GitLab CI példaként a klónozó parancs:

# A CI_REPOSITORY_URL változóban megadott repository klónozása
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# A projekt könyvtárába lépés
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# A szükséges commit ellenőrzése
git checkout "$CI_COMMIT_SHA"

Néhány esetben, ha cache van, a runner először ellenőrizheti, hogy létezik-e helyi másolat a repository-ról, és csak git fetch és git checkout parancsokat hajt végre a státusz frissítéséhez, a teljes klónozás helyett.

A konfiguráció, amely meghatározza a kód forrását, általában YAML fájlban van megadva, amely leírja a pipeline-t (például .gitlab-ci.yml, .github/workflows/*.yml).