dump-2012 - Управление разработкой - "Опыт смены системы...
TRANSCRIPT
![Page 1: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/1.jpg)
svn → git
подводные грабли
![Page 2: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/2.jpg)
Андрей Хитрин
Разработчик
Константин Беклемишев
Руководитель группы
Naumen Phone
![Page 3: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/3.jpg)
• Это 10 лет разработки на C++, Python и
Java
• Гибкая масштабируемая архитектура
• Более 20-и серверных компонент
• Три интерфейса пользователя
• Две команды разработки
Что такое Naumen Phone?
![Page 4: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/4.jpg)
• Это 10 лет разработки на C++, Python и
Java
• Гибкая масштабируемая архитектура
• Более 20-и серверных компонент
• Три интерфейса пользователя
• Две команды разработки
...и мы были счастливы с svn ;)
Что такое Naumen Phone?
![Page 5: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/5.jpg)
Глобальные цели
Захват и полное
доминирование в
регионе APAC!
Следствие: Cмещение
фокуса с проектной
деятельности на
релизный цикл
![Page 6: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/6.jpg)
Наследие: как оно было?
Welcome to SVN hell !
• Множество веток
• Они не синхронизируются
• Актуальна только одна
• Нет единства :(
![Page 7: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/7.jpg)
Наследие: как оно было?
Партизаны начинают переходить на git и hg
![Page 8: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/8.jpg)
Что мы хотим?
Версии
Удобный Code Review
Стабилизацию и Тестирование
![Page 9: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/9.jpg)
• скорость работы
• удобное ветвление и слияние
• отдельные ветки для code review
• копирование коммитов
• эффективный поиск
• bisect
• корректировка истории
• гибкий workflow • он популярен!
Почему git?
![Page 10: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/10.jpg)
• скорость работы
• удобное ветвление и слияние
• отдельные ветки для code review
• копирование коммитов
• эффективный поиск
• bisect
• корректировка истории
• гибкий workflow • он популярен!
Почему git?
Но его надо изучать!
![Page 11: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/11.jpg)
Этапы переезда svn → git
•
• Составление git-workflow (+)
• Самостоятельное изучение githowto (-)
• Тестовый экспорт из svn в git(разбили на
несколько git-репозиториев)
![Page 12: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/12.jpg)
Этапы переезда svn → git
•
• Адаптация систем сборки
• Полный переезд
• Доклад о работе с git (-)
• Мастер-класс по работе с git (+)
• Хуки, подушки и перины
![Page 13: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/13.jpg)
Что содержит git workflow?
• Правила работы над задачей
• Правила ведения коммитов
• Подготовка к работе
• Основные операции
• Стандартные процедуры работы
![Page 14: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/14.jpg)
git-workflow: схема репозитория
master - основная ветка разработки
stable-1.5.0 - стабильная версия
![Page 15: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/15.jpg)
git-svn + файл авторов
Импорт
![Page 16: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/16.jpg)
Контроль доступа
Как контролировать доступ к репозиторию?
![Page 17: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/17.jpg)
Контроль доступа
Может, gitosis?
![Page 18: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/18.jpg)
Контроль доступа
Какие ещё есть решения?
• GitoLitehttps://github.com/sitaramc/gitolite
• GitLab
HQhttps://github.com/gitlabhq/gitlabhq
• GitHub Enterprise
(всего $5000 в год!)
![Page 19: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/19.jpg)
Контроль доступа
Старый добрый ssh+ldap!
![Page 20: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/20.jpg)
Captain Hook
![Page 21: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/21.jpg)
Captain Hook
Поганится владелец :)
![Page 22: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/22.jpg)
Captain Hook
Лес может быстро зарасти
![Page 23: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/23.jpg)
Captain Hook
Добавили сторожевой хук
![Page 24: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/24.jpg)
Результаты
В гр. разработки NPO переезд удался! :)
В гр. разрабоки NP еще многое предстоит
сделать.
![Page 25: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/25.jpg)
Что еще необходимо сделать?
• Покомпонентное дробление git-репозитория NP
• Новая система сборки NP
• Redmine 1.4+ (multi-repo на каждый проект)
![Page 26: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/26.jpg)
Выводы
• надо много обучать
• важно понимать внутреннюю модель
• очень помогает визуализация (gitk)
• учите shell-команды git - в них самое
вкусное
• используйте хуки
• спрашивайте и узнавайте, в чём
проблемы
![Page 27: DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Константин Беклемишев, Андрей](https://reader034.vdocuments.pub/reader034/viewer/2022051213/55a6fc4b1a28abcb0d8b4743/html5/thumbnails/27.jpg)