korak do lenobe
TRANSCRIPT
Korak do lenobe
Spletni razvijalci zgornje Gorenjske, 1. srečanjeFebruar 2015
3fs / ThirdFrame Studios
David Kuridža@davidkuridza
source: https://bintrayblog.files.wordpress.com/2013/10/lazyness.jpg
temelji lenobe
• enostavnost
• ponovljivost
• pravila
• iteracije
• zabava
git flow
• master stabilna produkcijska veja
• develop stabilna razvojna veja
• topic v delu (bug, feature)
merge rebase
git flow: topic veja
• nova
$ git checkout -b <topic-branch> origin/develop$ git push -u origin <topic-branch>
• posodabljanje
$ git checkout <topic-branch>$ git rebase origin/develop$ git push -f origin <topic-branch>
git flow: develop veja• merge topic v develop
$ git fetch --all --prune --verbose --progress$ git checkout develop$ git pull --rebase origin develop$ git branch -D <topic-branch> || true$ git checkout -b <topic-branch> origin/<topic-branch>$ git rebase origin/develop$ git push -f origin <topic-branch>$ git checkout develop$ git merge --log --no-ff -m "Merge branch origin/<topic-branch>" <topic-branch>$ git branch -D <topic-branch>$ git push origin develop$ git push origin :<topic-branch>
git flow: manager• https://github.com/3fs/git-manager
• nova topic veja$ git manager topic <topic-branch>
• posodabljanje$ git manager update [<topic-branch>]$ git manager publish [<topic-branch>]
• merge v develop$ git manager release [<topic-branch>]
razvojno okolje• vsi enaki, vsi enakopravni
• naredi napako brez strahu in krivde
• vsaj enkrat tedensko namerno podri in postavi nazaj
• nov projekt in/ali član produktiven znotraj 1 ure
• Vagrant, puppet
produkcijsko okolje• strežniki postavljeni z istimi puppet manifesti
(glede na node)
• deploy skoraj popolnoma avtomatiziran
• continuous integration (unit, integration)
• končni paket
• deploya lahko kdorkoli
• rollforward namesto rollback-a
razvijalci?
• pripravijo Vagrant okolje s puppet manifesti
• spišejo kodo, unit teste
• pripravijo release
• poskrbijo da vse deluje v razvojnem in produkcijskem okolju
PHP
• vsaka nova verzija je hitrejša
• z novimi funkcionalnostmi enostavnejša uporaba
• composer
• lint, mess detector, copy/paste detector, coding standards, PSR, …
PHP augmented types
• https://github.com/box/augmented_types
• povsod in vse (razen v produkcijskem okolju)
unit testi
• del projekta
• mock, mock in še enkrat mock
• mockov se ne testira :)
• code coverage !== dober test
integration testi
• acceptance, component, …
• zunaj projekta
• Codeception & Behat
• RAML + JSON Schema
vprašanja?
vprašanja?
čestitke, želje, pozdravi?
vprašanja?