Your SlideShare is downloading. ×
0
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Организуй свой репозиторий
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Организуй свой репозиторий

1,037

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,037
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Конфигурационный менеджмент: организуй свой репозиторий<br />Шмаркатюк Сергей (EPAM Systems)<br />
  • 2. Управление конфигурациями<br /><ul><li>Управление выпуском (release management)
  • 3. Наладка поставок (delivery)
  • 4. Организация налаженных процессов разработки
  • 5. Согласование способа взаимодействия разных частей программного проекта</li></ul>2<br />
  • 6. Классификация инструментов управления конфигурациями<br />Контроль версий (version control)<br />Юнит-тестирование<br />Анализ покрытия кода<br />Непрерывная интеграция (continuous integration)<br />Статический анализ кода<br />Генерация документации<br />Управление сборками (build management)<br />…<br />
  • 7. Контроль версий(version control)<br /><ul><li> Используют ВСЕ!
  • 8. Но не всем нравится
  • 9. Кому не нравится, тот изобретает свою СКВ
  • 10. Почему может не нравиться?
  • 11. Из-за слияний (merge)
  • 12. Без слияний жизнь проще
  • 13. Но и без них – никак
  • 14. Можно минимизировать количество слияний
  • 15. Как?
  • 16. Раз: уменьшить количество веток
  • 17. Два: определить то, когда слияния возможны, а когда - нет</li></ul>4<br />
  • 18. Гибкая разработка(agile development)<br />http://agilemanifesto.org<br /><ul><li>Итеративность
  • 19. Адаптирующийся процесс
  • 20. Самоорганизация
  • 21. Продуктивность
  • 22. Непрерывная поставка
  • 23. Изменяющиеся требования
  • 24. Внимание к деталям
  • 25. Простота</li></ul>Agile<br />
  • 26. Конфигурационные элементы<br />Исходный код<br />Библиотеки (бинарные файлы)<br />Конфигурационные файлы<br />Документация<br />Файлы ресурсов (изображения, иконки)<br />Структура БД<br />Данные и словари данных<br />Тесты (юнит-тесты)<br />Исполняемые файлы и инсталляционные пакеты<br />
  • 27. Элементы идентификации<br />Сборки<br />Типы сборок<br />Релизы<br />Типы релизов<br />Платформы<br />Компоненты (third-party)<br />Экспериментальные разработки<br />7<br />
  • 28. Типы сборок и релизов<br />Сборки<br /><ul><li>PA – пре-альфа(тестирование производится разработчиками, smoke testing)
  • 29. A – альфа (тестирование производится тестировщиками)
  • 30. B – бета (тестирование производится тестировщиками и пользователями)</li></ul>Релизы<br /><ul><li>AR – альфа-релиз
  • 31. BR – бета-релиз
  • 32. RC – релиз-кандидат
  • 33. ST – стабильная версия</li></li></ul><li>Стандартные директории репозитория<br />Репозиторий<br />/<br />/trunk<br />/branches<br />/tags<br />Ствол<br />Директория тегов<br />Директория веток<br />9<br />
  • 34. Обобщенная структура директорий проекта<br />[codebase]<br />файлы сборок, развертывания<br />спецификации, проектная документация<br />исходный код<br />svn:externals – библиотеки, компоненты<br />файлы конфигурации<br />sql-файлы инициализации БД<br />файлы локализации<br />файлы ресурсов<br />юнит-тесты<br />утилиты<br />
  • 35. Менеджмент веток<br />Директория веток<br />/branches<br />/experimental<br />/maintenance<br />/releases<br />11<br />
  • 36. Менеджмент тегов<br />Директория тегов<br />/tags<br />/builds<br />/releases<br />/PA<br />/A<br />/B<br />/AR<br />/BR<br />/RC<br />/ST<br />
  • 37. Именование версий<br />1.2.3_x64<br />([1-9]d*).([1-9]d*|[0x]).([1-9]d*|[0x])(_.*)?<br />Минорная версия (номер итерации)<br />Номер сборки<br />Мажорная версия<br />Платформа<br />13<br />
  • 38. Шаблоны именования директорий<br />Директориябазисаисходногокода (codebase)<br />14<br />Шаблон именованиядиректории<br />
  • 39. Правила наследования номеров версий<br />1.x.x<br />2.x.x<br />3.x.x<br />…<br />N.x.x<br />N.x.x<br />3.x.x<br />2.x.x<br />1.x.x<br />Мажорной версии (N.x.x)соответствуют отрезки:<br />В стволе: от места ответвления предыдущей мажорной версии (N-1) доответвления текущей версии (N)<br />В ветке поддержки версии: вся ветка N.x.x<br />15<br />
  • 40. Иерархия типов элементов дерева репозитория<br />Директория программногопроекта в репозиторииисходногокода<br />Директорияальфа-сборок<br />Директориябета-сборок<br />Ствол (основноенаправлениеразработки)<br />Директорияпре-альфасборок<br />Директориятегов<br />Директория альфа-релизов<br />Директориясборок<br />Директориярелизов<br />Директориябета-релизов<br />Директорияветок<br />Директориякандидат-релизов<br />Директорияветок, соответствующихэкспериментальнымразработкам<br />Директориястабильных релизов<br />Директорияветок, соответствующихдлительнымразработкам (веткиподдержки)<br />Директори ветокподдержкиверсий<br />Директорияветок платформ<br />Директорияветок, ориентированных на релиз<br />
  • 41. Организация интеграции релизов и сборок<br />1.x.x<br />2.x.x<br />1.x.0<br />1.x.3<br />2.x.0<br />1.x.1<br />2.x.1<br />1.x.4<br />1.x.2<br />1.x.5<br />2.x.2<br />/branches/maintenance/versions/1.x.x<br />1.0.0<br />1.0.1<br />1.0.2<br />1.0.3<br />1.0.4<br />/branches/releases/1.0.x<br />17<br />
  • 42. Зависимость содержимого директорий репозитория от номера ревизии<br />1.x.x<br />2.x.x<br />1.x.0<br />1.x.3<br />2.x.0<br />1.x.1<br />2.x.1<br />1.x.4<br />1.x.2<br />1.x.5<br />2.x.2<br />/branches/maintenance/versions/1.x.x<br />1.0.0<br />1.0.1<br />1.0.2<br />1.0.3<br />1.0.4<br />/branches/releases/1.0.x<br />Номера ревизий<br />1<br />12<br />39<br />52<br />73<br />79<br />93<br />112<br />126<br />139<br />155<br />170<br />193<br />201<br />215<br />230<br />140<br />18<br />
  • 43. А ТЫ<br />организовал свой репозиторий?<br />

×