Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tehnici avansate de branch management

Tehnici avansate de branch management

Prezentare la lansarea Today Software Magazine #45.

Georgiana Gligor

March 17, 2016
Tweet

More Decks by Georgiana Gligor

Other Decks in Technology

Transcript

  1. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    Georgiana Gligor ✓ Geek. Mother. Do-er. ✓ Programez aplicații enterprise din 2003 ✓ Consultanță pe probleme de arhitectură și DevOps ✓ PHP Cluj Meetup Organizer
  2. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ copierea de fișiere ✓ cod sursă versionat ✓ pachet instalabil METODE DE DEPLOYMENT
  3. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ gestionăm modul de lucru eficient ✓ lucrăm pe funcționalitate nouă & buguri în același loc și în același mod ✓ putem planifica mai multe medii de lucru (dev, qa, integration, etc) VERSION CONTROL?
  4. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    Permite crearea și lucrul cu branch-uri în mod ieftin. Merge-urile sunt mai ușor de gestionat decât în CVS sau SVN. DE CE GIT?
  5. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ dezvoltă noi funcționalități + modifică funcționalități existente ✓ commit-uri frecvente (checkpoint commits) DEVELOPER
  6. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ verifică funcționalități ✓ QA dedicat / developeri practicând BDD TESTER
  7. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ află cauza unei probleme semnalate ▸ reproduce problema ▸ detectează cauza ▸ separă modificarea cauzatoare ✓ istoria de commit-uri trebuie să fie liniară și curată, 1 commit = 1 aspect logic BUG HUNTER
  8. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ pregătește pachetul software: ▸ cod (funcționalitate) ▸ dependințe ▸ configurația aplicației PACKAGE BUILDER
  9. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ crează sistemul pe care va fi instalat pachetul software ✓ configurează sistemul ✓ instalează pachetul software DEPLOYER
  10. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ revizuiește codul programatorilor ✓ execută acțiunea de merge (integrare) ✓ rulează orice verificări necesare (de funcționalitate, deploy în mediu controlat, etc) INTEGRATOR
  11. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ branch creat automat la inițializarea unui repo ✓ aka trunk in SVN ✓ long-lived branch MASTER
  12. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ public / remote branch ▸ locuiește în repo ▸ orice persoană cu drepturi poate contribui ✓ privat ▸ locuiește pe mașina locală BRANCH PUBLIC VS LOCAL
  13. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ long-lived ▸ release branch ▸ modificările sunt mari: “authentication enabled” / “share articles on Facebook” ✓ ephemeral ▸ scop specific ▸ este înlăturat după folosire LONG-LIVED VS EPHEMERAL
  14. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ 1 branch efemer per topic ✓ modificări mici și dese TOPIC BRANCH
  15. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ folosit pentru a crea release-uri ✓ corespunde cu cea mai stabilă versiune de cod STABLE TRUNK
  16. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ nu există garanția stabilității codului ✓ anumite commit-uri se aleg pentru release UNSTABLE TRUNK
  17. @gbtekkie Today Software Magazine | Nr 45 | MARTIE 2016

    ✓ se lucrează în paralel pe topic branches ✓ ce intră în release se stabilește independent de codare INTEGRATION PIPELINES