До недавнего времени основной площадкой для исходного кода и публикации релизов BSL-World был GitVerse.
Мне хотелось пользоваться российским сервисом, поэтому именно там появились репозитории BSL-Timer и BSL Tag Cloud Aquarium. GitVerse использовался не только для хранения исходников: там я создавал релизы и размещал готовые установочные файлы.
Со временем, однако, выяснилось, что публикация релизов работает не всегда предсказуемо.
Впервые я столкнулся с этим при подготовке очередной версии BSL-Timer. Создать релиз не удалось: сервер возвращал ошибку 403. Техническая поддержка запросила диагностические данные, я нашёл сведения о блокировке в инструментах разработчика браузера и отправил их. Через некоторое время публикация снова заработала, хотя точную причину произошедшего мне тогда не объяснили.
При выпуске предварительной версии BSL Tag Cloud Aquarium 1.3.0-dev4 ситуация повторилась.
GitVerse снова сообщил, что сервис временно недоступен. Я попробовал опубликовать релиз через другой браузер, заново вошёл в учётную запись и повторил попытку. Ничего не изменилось.
И на этот раз в ответе сервера удалось найти идентификатор блокировки, который я отправил технической поддержке GitVerse. Там подтвердили, что диагностические данные собраны правильно:
Все верно, это то что нужно. Постараемся исправить в ближайшее время.
Позднее поддержка сообщила, что неисправность устранена, и попросила проверить публикацию повторно. Проверка прошла успешно: релиз BSL Tag Cloud Aquarium 1.3.0-dev4 удалось создать, а прикреплённый установочный архив стал доступен для скачивания.
Это важно отметить: GitVerse не проигнорировал обращение. Поддержка признала проблему, получила необходимые данные, исправила сбой и сообщила о результате. С их стороны история завершилась вполне достойно.
Но инженерное решение всё равно осталось прежним.
Для меня важно не только то, что неисправность в конце концов устраняют. Площадка публикации должна предсказуемо работать именно тогда, когда новая версия уже подготовлена, проверена и готова к выпуску.
Если одна и та же операция дважды заканчивается блокировкой, а вместо публикации приходится менять браузеры, изучать ответы сервера и переписываться с поддержкой, это уже не единичная случайность. Это фактор, который необходимо учитывать в рабочем процессе.
Иными словами, релиз должен выпускаться, а инженер — заниматься разработкой. Роль внештатного исследователя браузерных ошибок в планы BSL-World пока не входит.
Поэтому основной внешней площадкой BSL-World становится GitHub.
Туда уже перенесены:
- основная ветка BSL Tag Cloud Aquarium;
- рабочая ветка новой версии;
- полная история разработки;
- существующие теги;
- предварительный релиз 1.3.0-dev4;
- готовый установочный архив для Joomla.
При этом GitVerse не удаляется и не объявляется плохим сервисом. Репозиторий останется там в качестве дополнительного зеркала. Более того, после исправления ошибки релиз 1.3.0-dev4 был успешно опубликован и на GitVerse.
Таким образом, у проектов BSL-World теперь будет три официальных направления публикации:
- BSL-World.ru — страницы продуктов и собственное хранилище готовых дистрибутивов;
- GitHub — основная внешняя площадка для исходного кода, истории разработки и релизов;
- GitVerse — дополнительное зеркало репозиториев и релизов.
Это не политическое заявление, не демонстративный уход и не попытка раздуть драму из технической ошибки. Это обычное инженерное решение: если основной инструмент дважды подвёл при выполнении одной и той же операции, разумно выбрать более предсказуемый основной инструмент и сохранить резервную площадку.
GitVerse остаётся зеркалом.
GitHub становится основной внешней витриной исходного кода и релизов BSL-World.
А страницы продуктов и их дистрибутивы, как и прежде, будут находиться на собственном сайте проекта.
Предварительный релиз BSL Tag Cloud Aquarium 1.3.0-dev4 опубликован на обеих площадках:
GitHub:
https://github.com/BSL-World/bsl-tag-cloud-aquarium/releases/tag/v1.3.0-dev4
GitVerse:
https://gitverse.ru/BSL-World/bsl-tag-cloud-aquarium/releases/tag/v1.3.0-dev4
Meta description: Почему инженер-алкоголик переносит основную внешнюю площадку BSL-World с GitVerse на GitHub, хотя поддержка GitVerse признала проблему, исправила сбой и всё-таки позволила выпустить упрямый релиз.
Keywords: BSL-World, GitHub, GitVerse, перенос репозитория, публикация релизов, ошибка 403, блокировка публикации, зеркало репозитория, BSL Tag Cloud Aquarium, Joomla, разработка программного обеспечения
Tags: GitHub, GitVerse, Joomla!, Разработка ПО, Глюк, Облом!, Решение, Результат