Каков хороший рабочий процесс для разработки / тестирования / выпуска пакетов через репозитории apt?

В настоящее время мы ищем рабочий процесс для управления пакетами и выпусками Ubuntu в репозиториях apt. До сих пор наша маленькая команда занималась разработкой в ​​git. Один из них иногда использовал основную ветку для создания сборок, которые затем упаковывались вручную (в Ubuntu .deb) с помощью dpkg-buildpackage и развернуты одним хранилищем apt.

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

Это поднимает несколько вопросов:

  1. Как управлять номерами версий, чтобы путь обновления был простым?

    Для нас важно, чтобы номера версий были правильными в том смысле, что более высокий номер версии на самом деле означает "новее, чем". Однако во время разработки может потребоваться создать множество пакетов из разных источников, которые развертываются через "нестабильный" репозиторий. Для каждой новой упаковки apt-get update следует установить новейший пакет. Простое увеличение номера версии означает, что каждый разработчик в нашей команде должен знать номер текущей версии. Хуже того, версия должна быть согласованной для нескольких веток git, что мне кажется трудным.

  2. Нужны ли нам дополнительные репозитории, т.е. по одному на разработчика, чтобы избежать конфликтов номеров версий во время тестирования? Нужны ли нам конструкции, такие как добавление суффиксов "ppa" к номеру версии? Или есть другой подход?

0 ответов

Другие вопросы по тегам