Что вы используете для серверов Staging/Deployment Artifact?

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

Что вы используете для хранения своих сборок для внутреннего доступа?

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

Я определяю подготовку как размещение созданных артефактов на сервере для доступа сообществ пользователей. Артефакты обычно представляют собой zip-файлы, содержащие либо приложения, либо библиотеки + документацию. Сообщества пользователей — это разработчики, QA и служба доставки/эксплуатация. В основном создатели, проверяющие и внешние пользователи.

Мы выпускаем артефакты по отдельности и группами в средстве выпуска (например, выпуск 1.1 содержит foo 1.0.1 и bar 1.0.7). В зависимости от артефакта мы можем ограничить доступ. Операции не должны иметь доступ к предварительно выпущенным сборкам, и мы можем захотеть отслеживать, кто загружает выпуск с ограниченной доступностью.

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

Кто-нибудь знает хороший инструмент для управления сборками после сборки?

Примеры могут быть:

  • быстрая сборка / быстрая сборка
  • Кузница команды
  • построить кузницу
  • Jira и слияние как набор
  • связь сонатипа
  • доморощенный
  • Репозиторий SVN, использующий ветвление для продвижения сборок из dev->Qa->GA

person Peter Kahn    schedule 20.05.2009    source источник


Ответы (2)


Питер,

Поскольку вы не получаете много ответов, я дам вам знать о AnthillPro, разработчиком которой, Urbancode, я работаю. за.

Хорошо, без претензий, AnthillPro предназначен для обслуживания именно той широкой аудитории, которую вы обсуждаете — разработчиков, контролеров и операций. По сравнению с перечисленными вами инструментами AnthillPro — это что-то вроде BuildForge (наш ключевой конкурент) или быстрая сборка с тесно интегрированным хранилищем артефактов (например, nexus). Итак, сборки запущены, и вы можете просматривать результаты своих сборок и артефакты сборки в удобном веб-интерфейсе. Пользователи с правильными разрешениями могут запускать вторичный процесс, такой как развертывание или тестирование предыдущих сборок, а также артефакты из выбранной сборки.

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

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

В чем AnthillPro может вам не хватить, так это в том, что обычно мы разрешаем операторам просматривать предварительные сборки. Тем не менее, вы можете добавить правила, которые будут немедленно давать сбои/блокировать попытки релизов операциями любой сборки, не помеченной как «предварительная». Система статусов AnthillPro позволяет команде помечать сборку с помощью настраиваемых маркеров, таких как «В контроле качества» или «Одобрено для выпуска». В сочетании с правилами запуска рабочих процессов это должно дать вам необходимый контроль. Если некоторые проекты особенно чувствительны, вы просто используете безопасность на основе ролей, чтобы заблокировать их.

Надеюсь, это даст вам что-то, на что стоит обратить внимание.

-- Эрик

person EricMinick    schedule 16.06.2009
comment
Спасибо. Прямо сейчас у меня есть слабо связанный набор приложений, управляющих моим проектом и информацией о выпуске. У меня есть jira для отслеживания проблем, hudson для сборки, svn & fisheye для контроля версий и nexus для управления репозиторием maven. Я надеялся найти еще один слабопарный сервер. Хотя муравейник и лунт-билд/быстрая сборка были и другими, на которые я смотрел. Итак, я посмотрю. - person Peter Kahn; 16.06.2009

Мои варианты

создавать системы автоматизации, такие как AntHill, QuickBuild, TeamForge, BuildForge

  • файловый сервер
  • сервер управления версиями
  • менеджер репозитория maven (нексус, архив)

Мои цели

  • групповая сборка по нескольким критериям (тип артефакта, средство выпуска, этап/этап)
  • продвигать сборку от dev -> qa -> выпущено
  • обеспечить контроль доступа для сборок разработки, готовых сборок, готовых сборок

Я собираюсь сосредоточиться либо на системе управления версиями в качестве файлового сервера (используя svn), либо на менеджере репозиториев maven в качестве файлового сервера с использованием nexus. Рациональность следующая:

  • минимизировать усилия
  • минимизировать стоимость
  • используйте что-то, что я могу легко расширить, когда это необходимо (потому что я уверен, что мои требования изменятся).
  • Использование maven растет и в конечном итоге станет доминирующей технологией сборки здесь.

Спасибо за информацию.

person Peter Kahn    schedule 17.06.2009