-1

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

  • разработчик команды создает новый филиал в SVN, который содержит код из ствола
  • он обновляет код с его изменениями и выполняет модульное тестирование
  • Если тестирование устройства прошло успешно, он проверяет код в ветке, создает тег и запускает процесс развертывания.
  • пакет развертывается в некоторых тестовых средах, на которых выполняется тестирование (дым, функциональность и т. Д.), И в конечном итоге если испытания прошли успешно

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

Мы подумали об использовании Multi-stage continuous integration, но это не сработает, потому что команды не выполняют их развертывание одновременно или в течение определенного периода времени.

У кого-нибудь есть идея по подходу к этому?

ответ

1

То, что вы делаете, на самом деле не является непрерывной интеграцией - каждая команда работает на другой ветке. Следовательно, ваши проблемы:

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

+0

Спасибо за ваш ответ. Хотя различные команды работают в разных филиалах, все они объединяют свой код в багажник. Это похоже на многоступенчатую непрерывную интеграцию –

+0

Ну, вы либо переключаетесь на одну ветвь, либо выполняете все тесты во всех ветвях ... –

 Смежные вопросы

  • Нет связанных вопросов^_^