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:
- 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).
- 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.
- A Runner klónozza a repository-t (vagy annak egy részét) ideiglenes helyi munkaterületére.
- 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).