Знакомство

Завершено

Эффективные стратегии ветвления Git являются фундаментальными для успешной доставки программного обеспечения в масштабе. Этот модуль предоставляет исчерпывающие рекомендации по проектированию и внедрению рабочих процессов ветвления, которые поддерживают непрерывную доставку, совместную работу команды и обеспечение качества. Вы узнаете, как выбрать и реализовать правильную модель ветвления для потребностей вашей организации, независимо от того, работаете ли вы с небольшими гибкими командами или крупными организациями по разработке предприятий.

Почему стратегия ветвления имеет значение

Для современных команд разработчиков программного обеспечения требуются стратегии ветвления, которые балансируют несколько критически важных аспектов.

  • Скорость разработки: позволяет командам работать независимо друг от друга, не блокируя друг друга.
  • Обеспечение качества: обеспечение качества кода с помощью системных процессов проверки и тестирования.
  • Управление выпусками: поддержка прогнозируемых, надежных выпусков программного обеспечения.
  • Устранение рисков: изоляция экспериментальной работы и предоставление возможностей отката.
  • Требования к соответствию требованиям: соответствие стандартам аудита и нормативным требованиям для управления изменениями.

Фреймворк стратегии разветвления предприятия

Стратегические рекомендации по выбору модели ветвления:

Фактор Влияние на стратегию Ключевые вопросы
Размер команды Сложность координации и частота слияния Сколько разработчиков одновременно работает?
Частота выпуска Жизненный цикл ветви и временные рамки интеграции Как часто вы развёртываете в продакшене?
Требования к качеству Проверка процессов и интеграция тестирования Какой уровень качества ворот необходим?
Требования к соответствию требованиям Журналы аудита и процессы согласования Какие нормативные требования применяются?

Собственные команды разработчиков Майкрософт демонстрируют эти принципы в масштабе, используя поток GitHub для служб, требующих быстрого развертывания и более структурированных подходов для корпоративных продуктов, требующих обширных циклов тестирования.

Комплексные цели обучения

Завершив этот модуль, вы получите основные стратегии ветвления и сможете:

Стратегический дизайн ветвления:

  • Оцените и выберите соответствующие рабочие процессы ветвления Git на основе размера команды, частоты выпусков и требований к качеству.
  • Разработка стратегий ветвления , которые поддерживают непрерывную доставку при сохранении стандартов качества кода и соответствия требованиям.
  • Реализуйте политики ветвления корпоративного масштаба и платформы управления.

Практические навыки реализации:

  • Реализуйте рабочие процессы ветви функций с надлежащей изоляцией, обзором процессов и стратегий интеграции.
  • Настройка и управление GitHub Flow для команд, требующих быстрого и непрерывного развертывания.
  • Обработка ветвлений для проектов с открытым исходным кодом и совместной работы распределенной команды.
  • Установите защиту веток и ограничения на объединение, которые применяют контроль качества и требования к проверке кода.

Опыт платформы:

  • Используйте расширенные функции ветвления Azure Repos для корпоративных сред разработки.
  • Интеграция стратегий ветвления с конвейерами CI/CD и автоматизированными платформами тестирования.
  • Мониторинг и оптимизация рабочих процессов ветвления для повышения производительности и скорости доставки команд.

Самостоятельная оценка: оценка готовности к ветвлениям

Основы Git

  • [ ] Вы понимаете основы Git, такие как коммиты, слияния и ветки?
  • [ ] Вы знакомы с концепциями распределенного управления версиями?
  • [ ] Вы знаете, как устранить конфликты слиянием?

Опыт разработки команд

  • [ ] Вы работали в командах с использованием общих репозиториев?
  • [ ] Вы понимаете процессы ревью кода и pull-запросы?
  • [ ] Вы знакомы с концепциями непрерывной интеграции?

Контекст организации

  • [ ] У вашей команды есть определенные расписания выпуска или требования к соответствию требованиям?
  • [ ] Работаете ли вы с распределенными командами по часовых поясам?
  • [ ] Необходимо ли координировать работу с несколькими командами или внешними участниками?

Предварительные требования и подготовка

Основные знания:

  • Основы DevOps: понимание принципов DevOps, непрерывной интеграции и доставки.
  • Основы управления версиями: знакомство с принципами управления версиями (полезным, но комплексным обзором).
  • Опыт разработки программного обеспечения: опыт работы в командах в средах разработки программного обеспечения.

Рекомендуемый опыт:

  • Командная строка Git: базовое знакомство с командами и понятиями Git.
  • Рабочие процессы пул-реквестов: опыт работы с процессами проверки кода.
  • Понимание CI/CD: знание автоматизированных процессов сборки и развертывания.

Необходимая настройка:

  • Установка Git. Убедитесь, что Git установлен и настроен в среде разработки.
  • Учетная запись GitHub: доступ к GitHub для практических упражнений с современными рабочими процессами ветвления.
  • Доступ к Azure DevOps: доступ к организации для упражнений Azure Repos (можно создать во время модуля).