Branches
| Branch | Dude | Work | Action |
| dev | Andi / | no | Deploy |
| demo | Andi / | No | Deploy |
| testaccountess | Andi / | no | Deploy |
| andi | Andi | Yes | Merge |
| cat | Cătălin | Yes | Merge |
| cristi | Cristi | Yes | Merge |
| adi | Adi | Yes | Merge |
Branch-ul de referinţă este dev.
Fiecare programator lucrează numai pe propriul branch (branch-ul propriu de lucru) și menține acest branch actualizat (cu noutăți din dev).
O persoană desemnată (e.g. Andi) menţine acest branch actualizat cu noutăţile din branch-urile de lucru.
Site-urile (accesibile online) sunt instalări (copii) ale branch-urilor corespunzătoare:
http://bambam.go.ro:8024/cfo_dev/ – branch dev
http://bambam.go.ro:8024/cfo_demo/ – branch demo
http://bambam.go.ro:8024/cfo_testaccountess/ – branch testaccountess
http://maxba.ro – branch master
Actualizarea branch-urilor “comune” (dev, demo, testaccountess, master) şi a site-urilor corespunzătoare se face de către o singură persoană (preferabil).
Site-urile publice nu se modifică direct online, ci numai prin git pull.
Activităţi
A. MERGE cu branch-ul dev – PhpStorm
Se face în fiecare dimineață înainte de orice operaţie în proiect – programatorul își actualizează branch-ul local, ex Cristi:
1. checkout cristi
2. commit (Ctrl + k), dacă există modificări ne-comise
3. checkout dev (apare warning dacă pasul 2. nu este făcut – există modificări necomise)
4. pull (Ctrl + t)- download şi update dev local cu cele mai noi modificări din depozit
5. checkout cristi
6. dev merge
6.1. rezolvare conflicte – dacă e cazul, apare fereastră cu fişierele afectate.
7. delete assets
delete /frontend/web/assets/*
delete /backend/web/assets/*
cu excepţia fişierelor .gitignore din aceste foldere.
8. /path/to/project/site/> ./Yii migrate – aplicarea eventualelor migrări de bd.
9. /path/to/project/site/> composer update – instalarea / actualizarea pluginurilor
B. PUSH
Se face în fiecare seară – programatorul își trimite în depozitul central (server) modificările (commit-urile).
1. dev merge (op. A)
2. test – asigur că ce am făcut funcționează împreună cu noutățile din dev.
3. push (Ctrl + Shift + k)
C. Actualizare branch dev – PhpStorm – local
Se face seara după ce au făcut toţi push sau oricând este necesar (pentru ca celelalte branch-uri să poată fi actualizate), de către responsabilul de branch (e.g. Andi).
1. checkout & pull local toate branch-urile de lucru (andi, cat, cristi, adi etc) care au noutăţi.
2. checkout & pull dev
3.1. merge andi
3.2. rezolvare conflicte
3.3. merge cat
3.3. rezolvare conflicte
…
4. refresh assets, migrate, composer update, test dev local
5. push dacă totul e ok
6. update site dev
D. Actualizare site (deploy)
Se face oricând este necesar un update de site (e.g. după release). e.g. http://bambam.go.ro:8024/cfo_demo/
1. navigare în document root-ul site-ului /var/www/html/cfo_demo/site
2. git checkout demo – asigur că site-ul este pe branch corespunzător
3. git checkout . – anulez eventuale modificări locale
4. git pull (Ctrl + t) – descărcare & merge noutăți
5. delete assets
delete /frontend/web/assets/*
delete /backend/web/assets/*
cu excepţia fişierelor .gitignore din aceste foldere.
6. delete fişiere runtime
delete /frontend/runtime/*
delete /backend/runtime/*
7. /path/to/project/site/> ./Yii migrate – aplicarea eventualelor migrări de bd.
8. /path/to/project/site/> composer update – instalarea / actualizarea pluginurilor
9. test 🙂