Развертывание трекинга с помощью Ruby on Rails и Capistrano - PullRequest
4 голосов
/ 21 мая 2010

Как у каждого коммита есть причина и цель, я думаю, что у каждого развертывания есть цель и причина В коммитах исходного кода есть комментарий. Но развертывание не имеет.

Как автоматически записать причину и цель каждого развертывания?

Мне нужно вести учет:

  • Кто развернут, куда и в какое время.
  • Почему развернуто? Исправление ошибок? Обновление функции? Аварийное исправление не в плане итерации?
  • Какой git или svn ref использовался?

Кто-нибудь чувствовал потребность в такой системе? Как вы относитесь к моему подходу? Как я могу достичь своей цели? В настоящее время я использую Capistrano для развертывания.


Добавлена ​​награда. Я хотел бы услышать больше историй от разных разработчиков, которые делают «непрерывное развертывание».


Я обнаружил две службы, которые развертывают отслеживание:

Ответы [ 5 ]

3 голосов
/ 21 мая 2010

Webistrano - http://wiki.github.com/peritor/webistrano - это веб-интерфейс для capistrano, который также отслеживает, кто и когда развернул, так что это может стоить исследовать.

1 голос
/ 19 мая 2011

Я создал веб-сервис для этой конкретной проблемы, http://deploytracking.com, он подключается к Capistrano и записывает время, пользователя, филиал, ссылку, среду и репо, которые были задействованы в развертывании.

1 голос
/ 25 мая 2010

В моем текущем проекте используется модифицированная версия рецепта git-развертывания apinsein , которая (когда вы указываете cap сделать развертывание) помечает текущую HEAD тегом Git (что дает вам все преимущества нормального Git фиксирует).

0 голосов
/ 03 июля 2014

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

В любом случае, посмотрите здесь https://alessiosantocs.github.io/Captain. Я собираю отзывы, так что если у вас есть, пожалуйста, дайте мне знать.

Обновление

Как и предполагалось, я даю объяснение :)

Я тоже почувствовал эту потребность. Я работаю в цифровом стартапе, и мы 5 дней в неделю постоянно внедряем разные приложения на Ruby on Rails с Capistrano.

Мы заметили, что для каждого развертывания мы должны были сделать несколько вещей:

  • Следите за тем, какие именно запросы и коммиты в сети пришли в тот момент
  • Дайте какое-то имя для развертывания, чтобы мы могли его узнать
  • Оповещение членов нашей команды, чтобы все могли быть на одной странице (не спрашивая нас о новостях развертывания)
  • Отслеживайте каждое развертывание для будущих ошибок и ошибок, которые мы можем обнаружить в определенный момент времени (что случалось часто)

Поэтому по этой причине мы начали разработку этого пользовательского решения, которое будет интегрироваться с Capistrano и нашим SCM (bitbucket) и отслеживать все изменения, которые мы вносили в нашу основную ветку. Это то, что он делает прямо сейчас.

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

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

Спасибо @thirumalaimurugan за просьбу дать разъяснения!

Обновление 2

Мы тоже попробовали git tagging. Сначала было хорошо и весело, но мы не могли справиться с ними очень хорошо.

Тег - это в основном закладка для определенной ревизии. Итак, мы говорим о коммитах. Тег не отслеживает запросы на включение. Для нас это был беспорядок.

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

0 голосов
/ 11 января 2013

Strano - поддерживаемый Github пользовательский интерфейс управления развертыванием Capistrano.

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

...