Нажмите "Enter", чтобы перейти к содержанию

Hogyan lehet létrehozni egyesítési kérést gitlab

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:

  1. 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)
  2. Add tokenet a gitlab változókhoz
  3. A PayPline hibái esetén egyesítjük (ha a szavazatok nem elégek)
  4. Szavazatok testreszabása Ellenőrizze a Pipplayin CI / CD részeként
  5. 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
  6. 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 zsetont 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. Így jobban ellenőrizzék a résztvevők hozzáférését akik változtatni az összeállítás szállítószalag és kap hozzáférést token.

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 összeköti a teszt fázisban ellenőrzi a szám a „Népszerű”.

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:

Комментарии закрыты, но обратные ссылки и pingbacks ещё работают.