Posted in

Com protegir la branca principal amb GitHub i proves automatitzades

Per què protegir la branca principal?

La branca main (o master) és habitualment la branca de producció o la més estable del projecte. Per evitar que s’hi afegeixin canvis que trenquin funcionalitats, podem protegir-la mitjançant:

  • La protecció de branques que impedeix fer push directes.
  • L’execució obligatòria de proves abans de fer merge.

Objectiu d’aquest post

Configurar GitHub per tal que:

  • No es pugui fer push directe a main.
  • Només es puguin fer pull requests amb proves superades.

Pas 1: Configura GitHub Actions si no ho has fet

Si encara no tens cap workflow a .github/workflows, segueix el primer post:

Pas 2: Protegeix la branca principal

  1. Ves al repositori a GitHub.
  2. Fes clic a Settings.
  3. Al menú lateral, tria Branches.
  4. Sota “Branch protection rules”, fes clic a Add rule.

Pas 3: Crea una regla per a la branca main

  • Escriu main al camp Branch name pattern.
  • Marca:
    • Require a pull request before merging
    • Require status checks to pass before merging
    • Require branches to be up to date before merging

A sota, apareixerà el teu workflow (per exemple, Run Laravel Tests) com a status check que cal superar.

Resultat esperat

  • Cap persona (ni tu mateix) podrà fer push directament a main.
  • Els canvis hauran de passar per un pull request.
  • El merge només es permetrà si el workflow de proves ha passat amb èxit.

Com fer servir això al teu dia a dia

Cada nova funcionalitat es fa en una nova branca:

git checkout -b feature/afegir-notificacions

Un cop feta, es fa push i es crea un pull request cap a main. Si les proves passen, es pot fer el merge.

Tags recomanats

CI/CD, GitHub, Laravel, DevOps, Branch protection, Pull Requests, Testing automatitzat

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.