scorpion-ds
Новичок
Никогда не работал в крупных компаниях, потому нет опыта работы с CI, но сейчас у нас возникла в этом необходимость.
Для настройки, мы наймем удаленьщика, потому техническая часть сейчас не интересует, но хотелось бы узнать, у кого как это реализовано.
У нас два постоянных проекта:
- один довольно старый, но постоянно дорабатывается и что-то переделывается;
- второй наш проект, сейчас активно разрабатывается.
Ни какого регламента по работе нет, есть только redmine, и у второго проекта я настроил CI Gitlab, который обновляет проект на тестовом сервере, при коммите в ветку dev.
Сейчас самая большая проблема, что все задачи идут в ветку dev, далее их тестирует тестировщик, клиенты и т.п., часть задач иногда отправляется на доработку или вовсе отменяется, потому коммитеть их все в одну ветку очень неудобно, так как потом простым путем не откатить их.
Я поставил админу, такую задачу:
- при коммите с меткой по определенному шаблону (к примеру "task-123"), создается новый хост, разворачивается копия приложения, где добавлен функционал только по одной задаче;
- при удалении такой ветки, хост и все с ним связанное удаляется;
- также существует ветка "dev" куда попадают, все что было одобрено из других веток, там тестируется взаимодействие последних обновлений, от туда со временем данные попадают на "master"
Не совсем понятно, что делать с БД, во втором проекте, есть фикстуры для тестирования, но вот как тестировать, что миграция прошла успешно, непонятно, так как на проде, кроме БД, есть очень много данных в виде файлов, разве что тестировать на фейковых данных и надеется, что на реальных все пройдет нормально.
За основу админ предложил использовать Jenkins и в целом, говорит, так сделать можно, но правильно ли так делать я не знаю, может я чего-то не учел.
Для настройки, мы наймем удаленьщика, потому техническая часть сейчас не интересует, но хотелось бы узнать, у кого как это реализовано.
У нас два постоянных проекта:
- один довольно старый, но постоянно дорабатывается и что-то переделывается;
- второй наш проект, сейчас активно разрабатывается.
Ни какого регламента по работе нет, есть только redmine, и у второго проекта я настроил CI Gitlab, который обновляет проект на тестовом сервере, при коммите в ветку dev.
Сейчас самая большая проблема, что все задачи идут в ветку dev, далее их тестирует тестировщик, клиенты и т.п., часть задач иногда отправляется на доработку или вовсе отменяется, потому коммитеть их все в одну ветку очень неудобно, так как потом простым путем не откатить их.
Я поставил админу, такую задачу:
- при коммите с меткой по определенному шаблону (к примеру "task-123"), создается новый хост, разворачивается копия приложения, где добавлен функционал только по одной задаче;
- при удалении такой ветки, хост и все с ним связанное удаляется;
- также существует ветка "dev" куда попадают, все что было одобрено из других веток, там тестируется взаимодействие последних обновлений, от туда со временем данные попадают на "master"
Не совсем понятно, что делать с БД, во втором проекте, есть фикстуры для тестирования, но вот как тестировать, что миграция прошла успешно, непонятно, так как на проде, кроме БД, есть очень много данных в виде файлов, разве что тестировать на фейковых данных и надеется, что на реальных все пройдет нормально.
За основу админ предложил использовать Jenkins и в целом, говорит, так сделать можно, но правильно ли так делать я не знаю, может я чего-то не учел.