8. SCRUM
Пул задач на 2 тижні
Реліз кожних 2 тижні, або більше
Всі працюють в одній вітці (master)
Стабильность -> release
Master -> playground.xxx.com
Release -> staging.xxx.com -> xxx.com
12. Чого затягується реліз?
Трабли після merge release -> master
Під кінець спрінта хтось сів рефакторити (фотка мене)
Фіча велика, не піддається розбиттю на декілька спринтів
Переоцінили свої сили
Спочатку недооціинли свої сили.. А потім переоцінили їх…
Хтось щось поламав.. Всі чекають..
Мокапи помінялись під кінець спрінта
16. Основні принципи
Одна фіча – один бранч, в одному пул реквесті
При конфліктах – master завжди правий
В мастер попадають бранчі в вигляді одного коміта (--squash) -
легко ревертити
Вітка завжди повинна містити останній мастер
QA – тестити треба завжди останній master + feature
В рамках однієї бранчі працювати в –rebase режимі
18. Як розібратись що ревертити?
git merge featureBranch - -squash
git commit –m ‘New feature, fixes #43’
19. Як перевірити, чи девелопер змерджив
master?
#!/bin/sh
echo 'detecting latest master..'
localHistory=`git log -n 50 --pretty=format:"%H"`
latestMaster=`git ls-remote origin master | awk '{print $1;}'`
echo "latest master: $latestMaster"
if echo "$localHistory" | grep -q "$latestMaster"; then
echo "branch has latest master"
else
echo "branch doesn't have latest master"
exit 1
fi
20. Переваги
Роблю фічу скільки хочу, час ніколи не піджимає
Легше знайти винного..
В разі проблем на продакшені відкатується лише одна фіча
Не блокуються і не відкатуються інші фічі..
Фічі появляються швидше в продакшені
Область тестування завжди обмежена