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

  • 974 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
974
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
21
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. Конфигурационный менеджмент: организуй свой репозиторий
    Шмаркатюк Сергей (EPAM Systems)
  • 2. Управление конфигурациями
    • Управление выпуском (release management)
    • 3. Наладка поставок (delivery)
    • 4. Организация налаженных процессов разработки
    • 5. Согласование способа взаимодействия разных частей программного проекта
    2
  • 6. Классификация инструментов управления конфигурациями
    Контроль версий (version control)
    Юнит-тестирование
    Анализ покрытия кода
    Непрерывная интеграция (continuous integration)
    Статический анализ кода
    Генерация документации
    Управление сборками (build management)

  • 7. Контроль версий(version control)
    • Используют ВСЕ!
    • 8. Но не всем нравится
    • 9. Кому не нравится, тот изобретает свою СКВ
    • 10. Почему может не нравиться?
    • 11. Из-за слияний (merge)
    • 12. Без слияний жизнь проще
    • 13. Но и без них – никак
    • 14. Можно минимизировать количество слияний
    • 15. Как?
    • 16. Раз: уменьшить количество веток
    • 17. Два: определить то, когда слияния возможны, а когда - нет
    4
  • 18. Гибкая разработка(agile development)
    http://agilemanifesto.org
    • Итеративность
    • 19. Адаптирующийся процесс
    • 20. Самоорганизация
    • 21. Продуктивность
    • 22. Непрерывная поставка
    • 23. Изменяющиеся требования
    • 24. Внимание к деталям
    • 25. Простота
    Agile
  • 26. Конфигурационные элементы
    Исходный код
    Библиотеки (бинарные файлы)
    Конфигурационные файлы
    Документация
    Файлы ресурсов (изображения, иконки)
    Структура БД
    Данные и словари данных
    Тесты (юнит-тесты)
    Исполняемые файлы и инсталляционные пакеты
  • 27. Элементы идентификации
    Сборки
    Типы сборок
    Релизы
    Типы релизов
    Платформы
    Компоненты (third-party)
    Экспериментальные разработки
    7
  • 28. Типы сборок и релизов
    Сборки
    • PA – пре-альфа(тестирование производится разработчиками, smoke testing)
    • 29. A – альфа (тестирование производится тестировщиками)
    • 30. B – бета (тестирование производится тестировщиками и пользователями)
    Релизы
    • AR – альфа-релиз
    • 31. BR – бета-релиз
    • 32. RC – релиз-кандидат
    • 33. ST – стабильная версия
  • Стандартные директории репозитория
    Репозиторий
    /
    /trunk
    /branches
    /tags
    Ствол
    Директория тегов
    Директория веток
    9
  • 34. Обобщенная структура директорий проекта
    [codebase]
    файлы сборок, развертывания
    спецификации, проектная документация
    исходный код
    svn:externals – библиотеки, компоненты
    файлы конфигурации
    sql-файлы инициализации БД
    файлы локализации
    файлы ресурсов
    юнит-тесты
    утилиты
  • 35. Менеджмент веток
    Директория веток
    /branches
    /experimental
    /maintenance
    /releases
    11
  • 36. Менеджмент тегов
    Директория тегов
    /tags
    /builds
    /releases
    /PA
    /A
    /B
    /AR
    /BR
    /RC
    /ST
  • 37. Именование версий
    1.2.3_x64
    ([1-9]d*).([1-9]d*|[0x]).([1-9]d*|[0x])(_.*)?
    Минорная версия (номер итерации)
    Номер сборки
    Мажорная версия
    Платформа
    13
  • 38. Шаблоны именования директорий
    Директориябазисаисходногокода (codebase)
    14
    Шаблон именованиядиректории
  • 39. Правила наследования номеров версий
    1.x.x
    2.x.x
    3.x.x

    N.x.x
    N.x.x
    3.x.x
    2.x.x
    1.x.x
    Мажорной версии (N.x.x)соответствуют отрезки:
    В стволе: от места ответвления предыдущей мажорной версии (N-1) доответвления текущей версии (N)
    В ветке поддержки версии: вся ветка N.x.x
    15
  • 40. Иерархия типов элементов дерева репозитория
    Директория программногопроекта в репозиторииисходногокода
    Директорияальфа-сборок
    Директориябета-сборок
    Ствол (основноенаправлениеразработки)
    Директорияпре-альфасборок
    Директориятегов
    Директория альфа-релизов
    Директориясборок
    Директориярелизов
    Директориябета-релизов
    Директорияветок
    Директориякандидат-релизов
    Директорияветок, соответствующихэкспериментальнымразработкам
    Директориястабильных релизов
    Директорияветок, соответствующихдлительнымразработкам (веткиподдержки)
    Директори ветокподдержкиверсий
    Директорияветок платформ
    Директорияветок, ориентированных на релиз
  • 41. Организация интеграции релизов и сборок
    1.x.x
    2.x.x
    1.x.0
    1.x.3
    2.x.0
    1.x.1
    2.x.1
    1.x.4
    1.x.2
    1.x.5
    2.x.2
    /branches/maintenance/versions/1.x.x
    1.0.0
    1.0.1
    1.0.2
    1.0.3
    1.0.4
    /branches/releases/1.0.x
    17
  • 42. Зависимость содержимого директорий репозитория от номера ревизии
    1.x.x
    2.x.x
    1.x.0
    1.x.3
    2.x.0
    1.x.1
    2.x.1
    1.x.4
    1.x.2
    1.x.5
    2.x.2
    /branches/maintenance/versions/1.x.x
    1.0.0
    1.0.1
    1.0.2
    1.0.3
    1.0.4
    /branches/releases/1.0.x
    Номера ревизий
    1
    12
    39
    52
    73
    79
    93
    112
    126
    139
    155
    170
    193
    201
    215
    230
    140
    18
  • 43. А ТЫ
    организовал свой репозиторий?