A Woodpecker CI egy könnyű, saját szerveren futtatható CI/CD platform, amely népszerű Git szolgáltatásokkal, például GitHub-lal, GitLabbel, Giteával és Forgejóval működik együtt. Most megjelent a 3.18-as verzió.
A meglévő Woodpecker-felhasználóknak fontos tudniuk, hogy a 3.18-as verzió egy olyan adatbázis-migrációt tartalmaz, amely a naplók tárolását érinti. A migráció hosszabb ideig is eltarthat, ha sok naplósor van eltárolva. Emiatt a rendszergazdáknak érdemes biztonsági mentést készíteniük a verziófrissítés előtt, és plusz leállási idővel számolniuk, amíg a migráció lefut.
A naplózás több fejlesztést kapott ebben a kiadásban. A Woodpecker mostantól külön végpontot biztosít a pipeline-naplók letöltéséhez, és a lépések naplóit a helyes sorszám szerinti sorrendben adja vissza. A háttértárolást is átalakították: soronként egy naplóbejegyzést tárol, egyedi indexszel. Ez részben magyarázza az adatbázis-migrációt.
A biztonság terén a Woodpecker 3.18 szigorúbban kezeli, hogyan férnek hozzá a pluginek a környezeti változókhoz. Az extra és a mátrix környezeti változókat már nem injektálja automatikusan, így kevesebb információ kerül a pluginek elé.
A Kubernetes backend egy új opcióval bővült, amellyel a rendszergazdák letilthatják a runtime class name beállítását, a GitLab-integráció pedig mostantól a teljes csoportútvonalat használja csoportazonosítóként.
A pipeline-kezelésre is jutott figyelem. A kézzel indított pipeline-okhoz most már egyedi üzenetet lehet fűzni, így könnyebb megadni, miért indult el az adott futás. A Woodpecker ezen felül kikényszeríti az egyedi neveket a szolgáltatások és lépések számára, ha DAG-alapú pipeline-t használnak.
Egy új védelmi mechanizmus megakadályozza, hogy nem kompatibilis gRPC protokollverziót használó agentek csatlakozzanak a Woodpecker szerverhez. Az agentek jobban viselik az átmeneti kommunikációs problémákat is: a kapcsolatfelvételt most már a DeadlineExceeded hibák után is újrapróbálja a rendszer, nem csak az eddig kezelt Unavailable esetén.
Azoknál a telepítéseknél, amelyek több forráskód-tárhelyszolgáltatóhoz kapcsolódnak, a Woodpecker 3.18 lehetővé teszi, hogy tárolónként külön-külön állítsák be, mely szervezetek használhatják a szolgáltatást. A Kubernetes-felhasználók a klaszter domainjét is megadhatják, ahelyett hogy az alapértelmezett értékre hagyatkoznának.
Ezen felül a Woodpecker mostantól elutasítja az érvénytelen workflow-állapotokat, név szerint rendezi a workflow-fájlokat, és a korábbi és legutóbbi pipeline-okat a pipeline-szám alapján határozza meg, nem pedig a belső adatbázis-azonosítók szerint.
A Windows-támogatás is kapott néhány javítást és fejlesztést. A helyi backend mostantól tartalmaz egy belső parancsot a Base64 adatok dekódolására, és megoldották azt a problémát, amely megakadályozta, hogy több PowerShell cmdlet helyesen fusson egymás után.
Végül a kiadás számos függőségi és karbantartási frissítést tartalmaz, köztük a Woodpecker Git pluginjának, a GitLab API kliensnek, a Docker CLI könyvtárnak, a protobuf komponenseknek és több frontend csomagnak az újabb verzióit.
További részletekért nézd meg a changelogot.

