Hoppa till innehåll

CI and CD

Mergify

Mergify är ett verktyg för arbetsflödesautomatisering och merge queue för GitHub. Det innebär att pull requests kan köas och slås samman automatiskt enligt regler, istället för att utvecklare manuellt bevakar och mergar varje PR.

Besök Mergify

Vad är Mergify?

Mergify är en tjänst för arbetsflödesautomation och "merge queue" (sammanslagningskö) för GitHub. Den lägger sig som ett lager ovanpå GitHub-repositoriet och styr när och hur pull requests får slås samman, baserat på regler utvecklaren själv definierar - till exempel att alla CI-checkar ska vara gröna, att ett visst antal granskare godkänt, eller att en gren är uppdaterad mot main innan merge. Kärnfunktionen är merge queue: istället för att utvecklare manuellt uppdaterar och slår samman grenar i tur och ordning radas godkända pull requests upp i en kö där Mergify automatiskt uppdaterar, testar om och slår samman dem sekventiellt, vilket förhindrar att grön kod bryts av en samtidig merge. Verktyget riktar sig till team med hög PR-genomströmning på GitHub där manuell merge-hantering och merge-konflikter skapar flaskhalsar. Det är gratis för publika (open source) GitHub-repon, medan privata repon och team-funktioner ligger i betalda planer.

Vad den fria nivån räcker till

Fri användning gäller enligt leverantören för publika GitHub-repon. Det gör Mergify relevant framför allt för projekt med öppen källkod; privata repon förutsätts kräva en betald plan.

Användningsfall

Automatisk merge queue

Sätt upp en kö där godkända pull requests automatiskt uppdateras, testas om och slås samman sekventiellt, så att grenar alltid testas mot senaste main innan sammanslagning.

Regelbaserade merge-policyer

Definiera villkor för PR-godkännande - till exempel krav på antal granskare, gröna CI-checkar eller specifika labels - utan att bygga en egen bot mot GitHub API.

Automatisering kring beroende-PR:ar

Auto-merge:a Dependabot- eller Renovate-PR:ar som klarar CI, och automatisera backport till release-grenar eller borttagning av föråldrade pull requests.

Skydda main i stora open source-projekt

Minska risken för merge conflicts och trasig main-branch i projekt med många externa bidragsgivare och samtidiga PR:ar.

Enhetliga arbetsflöden över flera repon

Standardisera PR-regler och merge-beteende över en hel organisations repon via delade regeluppsättningar.

Styrkor och begränsningar

Styrkor

  • Gratis för publika GitHub-repon, vilket gör det tillgängligt för open source-projekt utan kostnad
  • Löser ett konkret och vanligt problem (merge queue-hantering) som annars kräver egen skriptning mot GitHub API
  • Regelbaserad konfiguration (YAML) ger transparens i vilka villkor som styr merge
  • Minskar risken för att main-grenen bryts av race conditions mellan flera samtidiga merges

Begränsningar

  • Bundet till GitHub - fungerar inte för GitLab, Bitbucket eller andra kodvärdar
  • Gratisnivån gäller endast publika repon; privata/kommersiella repon kräver betald plan
  • Ersätter inte en fullständig CI-plattform - Mergify kör inte själva byggen/testerna utan orkestrerar runt en befintlig CI
  • Kräver att man ger tjänsten skrivbehörighet till repot, vilket är en tillitsfråga för känsliga projekt

Jämfört med alternativen

Mergify konkurrerar inte direkt med fullständiga CI-körare som CircleCI eller Buildkite, som exekverar själva byggen och testerna - istället läggs Mergify ovanpå en befintlig CI (t.ex. GitHub Actions) för att sköta merge-logik och köhantering. Cirun.io, som också är gratis för publika GitHub-repon, löser ett annat problem (self-hosted/anpassade CI-runners) och kan användas parallellt med Mergify. Mergify särskiljer sig genom att vara en dedikerad, regelstyrd merge queue-tjänst snarare än en generell arbetsflödesplattform.

Vanliga frågor

Är Mergify helt gratis?

Endast för publika/open source-repon på GitHub. Privata repon och avancerade team-funktioner kräver en betald plan - källan anger inte exakta priser för de betalda nivåerna, så verifiera aktuell prissättning direkt hos Mergify.

Fungerar Mergify med GitLab eller Bitbucket?

Källan beskriver Mergify specifikt som en tjänst för GitHub; den anger inget stöd för andra kodvärdar.

Ersätter Mergify vår CI-plattform (t.ex. GitHub Actions)?

Nej. Mergify orkestrerar merge-processen runt CI-resultat, men kör inte själva byggen eller testerna - ni behöver fortfarande en CI-lösning parallellt.

Är Mergify self-hosted eller molnbaserat?

Källan beskriver Mergify som en molntjänst kopplad till GitHub via en app/integration, inte som ett self-hosted alternativ.

Vem passar Mergify för?

Team och open source-projekt med hög PR-volym på GitHub där manuell merge-hantering och grenkonflikter är ett återkommande problem.

SIAX perspektiv

En merge queue är särskilt värdefull i repon med hög commit-frekvens och många parallella PR:ar, där mergekonflikter och grön CI som ändå ger en trasig main efter merge annars blir ett återkommande problem. För ett privat repo bör man räkna med att gratisnivån inte räcker, eftersom den enligt källan är begränsad till publika GitHub-repon.

Osäker på vad ni behöver?

Vi hjälper er välja rätt verktygsstack

Ett kostnadsfritt första samtal - vi går igenom er stack och vad som faktiskt behövs innan ni betalar för något.

Boka samtal