Как автоматизировать задачи по выпуску программного обеспечения с открытым исходным кодом?
-
08-07-2019 - |
Вопрос
Каждый, кто управляет программным обеспечением с открытым исходным кодом, сталкивается с проблемой, заключающейся в том, что со временем процесс выпуска новой версии становится все более трудоемким.Вы должны пометить выпуск в своем управлении версиями, создать дистрибутивы (что должно быть легко при автоматизированных сборках), загрузить их на свой веб-сайт и / или на хостинговой платформе с открытым исходным кодом.Вы должны объявить о новом выпуске примерно таким же сообщением на выбранных веб-форумах, в системе новостей sourceforge, в списках рассылки и в своем блоге или веб-сайте.И вам необходимо обновить запись вашего программного обеспечения на freshmeat.Возможно, для выпуска потребуется выполнить еще больше задач.
Разработали ли вы методы автоматизации некоторых из этих задач?Существует ли программное обеспечение, которое поддерживает вас в этом?
Решение
Pragmatic Project Automation показывает, как это сделать. Они используют Ant практически для всего, что есть в книге, поэтому, если вы знаете Ant, вы можете ставить разные цели для выполнения любых задач. шаг в цикле сборки-выпуска.
Другие советы
Для своих материалов на Perl я написал Модуль:: Выпуск.В каталоге верхнего уровня я ввожу одну команду:
% release
If проверяет несколько вещей и умирает, если что-то не так.Если все проверяется, он загружает дистрибутив.
Это автоматизирует весь мой процесс:
- Тест на нескольких версиях Perl
- Тестовые файлы дистрибутива
- Проверьте состояние системы управления версиями
- Проверьте наличие показателей качества кода и распространения
- Обновить файл изменений
- Определите номер новой версии
- Опубликуйте код в нескольких местах
- Отметьте элемент управления версиями тегом с новым номером версии
Однако, похоже, каждый пишет свой собственный автоматический релиз.Большинству людей нравится их процесс так, как им нравится их процесс, поэтому общие решения не очень хорошо работают в социальном плане.
У Брэда Фитцпатрика есть ShipIt , которая представляет собой программу Perl для автоматизации выпусков. В его оригинальном объявлении есть немного больше информации .