Hogyan lehet egyesíteni a kérést
Kód áttekintése Gitlab CE: Ha egyesíti a jóváhagyásokat nem, de igazán akarom
Az egyik legszükségesebb funkció, amely nem a Gitlab ingyenes verziójában van, az a képesség, hogy ellenőrizzék az egyesítési kérelmet (MR) egy kötelező kód felülvizsgálatával.
A minimális funkcionalitást meg fogjuk hozni magunknak – tiltja az egyesülést, amíg több fejlesztő “hüvelykujj fel”.
Miért van egyáltalán?
Szervezetünk megengedheti magának, hogy vásároljon Gitlab engedélyt. De, mivel a fejlesztés végezzük el egy zárt körben nélkül férnek hozzá az internethez, és van egy szigorú költségvetési tervezés, a vásárlás saját kezelésű engedélyek a kívánt funkciókat is késleltetheti több hónapig, és meg kell teremteni a munka.
Ennek eredményeképpen szükség van:
- vagy teljesen megtiltják Merge védett ágakat a részét a fejlesztők, de aztán a fejlesztők, akik a jogot, hogy Merge kapni ütközések merginging más MR, mint a bónusz;
- Vagy adja meg a lehetőséget, hogy ellenőrizetlen fúziókat készítsen a mester-ágával a kód felülvizsgálata nélkül, még akkor is, ha Junior, tegnap felállítva.
Az első dolog elment a Google-ba, hiszi, hogy minden bizonnyal valaki ilyesmi volt (a kód finomítása nélkül), de kiderült, hogy nincs ilyen végrehajtás a közösségi verzióban.
Általános rendszer
Példaként, akkor állítsa be a Merge kérése jóváhagyások a vizsgálati tárháza MyApp:
- Hozzon létre egy jelzőt a Gitlab API eléréséhez (keresztül, információt kapunk a “for” és a “ellen” szavazatok számáról)
- Add tokenet a gitlab változókhoz
- A PayPline hibái esetén egyesítjük (ha a szavazatok nem elégek)
- Szavazatok testreszabása Ellenőrizze a Pipplayin CI / CD részeként
- Tiltja, hogy elkötelezze magát az ágak biztosítása érdekében, csak az MR-n keresztül végezzük az összes változást
- Ellenőrizze, mi történt a végén
1. Hozzon létre egy tokenet az API eléréséhez
A felhasználói beállítások → Hozzáférési tokenek és írási tokenek:
Fiók a tokenhez
Az API-hez való hozzáférés lehetővé teszi, hogy szinte mindegyiket a tárolókkal teheti meg, ezért tanácsot adok Önnek, hogy hozzon létre egy külön Gitlab-fiókot, minimális jogokat adjon a reposteszerzéshez (például riporter), és kapjon egy tokenet erre a fiókra.
2. Add tokeneket a gitlab változókhoz
Például az előző lépésben kaptunk zsetonokat Qmn2y0nouflfexhvd21zs01aqzgk
Nyissa meg a beállításokat → CI / CD → Változók → Változó hozzáadása → Gitlab_token_for_ci
Ennek eredményeként kapunk:
Ezt mind az egy tárolóban, mind a repository csoportban lehet elvégezni.
3. Tegyen egy tilalmat egyesíteni, ha a kollégái a kód felülvizsgálatát követően jóváhagyták
A mi esetünkben az egyesítés tilalma az a tény, hogy az összeszerelő szállítószalag nem megfelelő számú szavazattal visszaadja a hibát.
Menjünk a Beállítások → Alapvető → Egyesítési kérdések → Az egyesítések egyesítése és az összeszerelési vonalak bekapcsolása sikeres végrehajtásra kerül.
4. A csővezeték testreszabása
Ha még nem tette meg a CI / CD szállítószalagot az alkalmazáshozHozzon létre egy fájltárat a gyökérben HabA legegyszerűbb tartalommal:
Külön CI / CD konfigurációs tároló
Azt javasolnám, hogy egy külön tárhelyet készítsen, amelyben egy HAB-fájlt szeretne létrehozni a szállítószalag konfigurálásához. Tehát jobban ellenőrizheti a résztvevők hozzáférését, akik megváltoztathatják az összeszerelő szállítószalagot, és hozzáférhetnek a Tokenhez.
Az új szállítószalagfájl helyét meg kell adni a MyApp Repository elérésével – Beállítások – CI / CD – szerelési vonalak – CI konfiguráció egyéni útvonal – Adjon meg egy új fájlt, például Hab @ gitlab-CE-MR-jóváhagyások / CI
Tipp: Használjon Linter-t a Gitlab CI fájlok módosításáhozMég akkor is, ha egy, akkor egy jó segítő munkát végez az MR-n keresztül, az összes változás futtatása a Pipley fájlokban a Linteren keresztül. Ha téved a YAML fájlszintaxisban, akkor nem hagyja abba, hogy megtörje a munkatársat, és csak blokkolja az egyesülést.
Példa konténerek lintreters hogy lehet beágyazni a Pipeline:
Hab
Hab
És a vizsgálati szakasz példája:
Továbbra is több paramétert adhat a paipline-hoz, hogy minden aggódik:
A Need_Votes változó meghatározza, hogy az “ujjak felfelé” kell lennie az MR-nél, hogy elérje az egyesülést. Az egyik olyan érték, amely megegyezik azzal, hogy önmagad jóváhagyhatja, hogy “tetszik”.
Tartalmazza a tesztfázis ellenőrzését a “szereti” számának ellenőrzését.
A HAB példáján a legegyszerűbb csővezeték
Hab-tartalom
Tudjon meg többet arról, hogy mi történik az ellenőrzés során:
- A korlátozás megállapítható, hogy a csekk csak akkor lesz, ha MR MRE MASTER vagy RELEASE / * fióktelepek létrehozásakor
- A Gitlab API használatával megkapjuk a “szereti” és a “dizszerű” számát
- Számítsa ki a pozitív és a negatív válaszok közötti különbséget
- Ha a különbség kisebb, mint az általunk adott értékek a Need_votes-ben, majd blokkolja az egyesülés képességét
5. Tiltja a védett fióktelepi bizottságokat
Meghatározzuk az ágazatokat, amelyekre vonatkozóan kódolnunk kell, és jelezzük, hogy csak az úrral együttműködhetünk velük.
Ehhez menjen a Beállítások → Repository → Védett fiókok:
6. Jelölje be
Állítsa be a Need_votes: 0
Hogy Mr és Set “dizloike”.
Az összeszerelési naplókban:
Most fogadok “Mint”, és futtatom az újraellenőrzést:
Comments are closed, but trackbacks and pingbacks are open.