Zum Hauptinhalt springen

Merge Requests erzwingen

Ziel

Konzeptionell gehört in den Hauptzweigs (main-/master-branch) nur getesteter Code sowie Code welcher sich zu einer Anwendung compilieren lässt. Durch das Schützen des Hauptzweigs vor direkten pushes und der Einstellung bzgl. Merge Requestes, die nur bei erfolgreichem Pipelinedurchlauf werden, kann die genannte konzeptionelle Vorgabe erzwungen werden.

Protected Branch in Gitlab

Hierfür sollten folgende Einstellungen in Gitlab vorgenommen werden:

Sie haben recht, und ich entschuldige mich für die Verwirrung. Wenn Sie sicherstellen möchten, dass Änderungen nur in den Hauptzweig übernommen werden, wenn alle Tests erfolgreich sind, können Sie einen sogenannten "protected branch" (geschützten Zweig) in GitLab verwenden.

Hier sind die Schritte:

GitLab-Projekt wählen --> Settings Repository --> Protected branches --> Allowed to push and merge = "No one"

Merge Requests

Mit den oben genannten Einstellungen ist sichergestellt, dass nun nicht mehr in den Haupt-branch gepusht werden kann. Dieses ist nur noch über einen Merge Request innerhalb von Gitlab möglich. Um nun sicherzustellen, dass alle test durchlaufen werden und die Anwendung compiliert werden kann, wird folgende Einstellung in Gitlab getroffen:

GitLab-Projekt wählen --> Merge requests --> Merge checks --> Pipelines must succeed


Kommentare