#linux #git #maven #version-control #build
#linux #git #maven #контроль версий #сборка
Вопрос:
Я новичок в обоих этих инструментах, и я также новичок в системном администрировании Linux, поэтому заранее приношу извинения за то, что может показаться общим вопросом n00b.
По сути, я начинаю совершенно новый проект с нуля. Даааай! Захватывающе! Однако я немного запутался в том, как настроить проект. Я установил оба git и maven на свой компьютер разработчика и прогнал несколько руководств. Я также настроил git на своем сервере и успешно загрузил в него код и извлек код из него.
Итак, первый вопрос: хорошая ли вообще идея использовать git и maven вместе? Git кажется лучшей системой управления версиями, а Maven — лучшей системой сборки. Известно ли, что они хорошо работают вместе? Или я напрасно создаю себе проблемы на этой ранней (и ненадежной) стадии проекта? Я использовал ant достаточно, чтобы знать, что я не хочу его использовать, и я на самом деле не фанат svn, хотя я буду использовать его, если придется.
Второй вопрос: Учитывая, что эти два инструмента хорошо работают вместе, каков наилучший способ их настройки? Я знаю, что git является «одноранговым», хотя, полагаю, ничто не мешает вам настроить единый репозиторий для пользователя git и синхронизировать всех разработчиков с этим репозиторием, когда придет время выполнять сборку. Это правильный путь? Как насчет Maven? Maven, похоже, ориентирован на одного пользователя. Например, каждый настраивает Maven на своей собственной машине и имеет свой собственный репозиторий Maven, верно? Или неправильно? Имеет ли смысл создать «пользователя Maven» на моем сервере и попросить этого пользователя выполнять все мои сборки из «основного» репозитория git?
Прошу прощения, если я полностью ошибаюсь в том, как использовать эти инструменты. Как я уже сказал, я довольно новичок в этих вещах. Мы ценим любую вашу помощь.
(кроме того, я работаю над Linux, выполняю Java-разработку в Eclipse, использую Spring для фреймворка, mysql для хранилища данных и Hibernate в качестве ORM. Не знаю ни о чем из того, что имеет значение)
Спасибо!
Ответ №1:
Q1: Да, git будет хорошо работать с любыми системами сборки. Обычно ваш VCS хорошо абстрагируется от любой современной системы сборки. Убедитесь, что вы настроили свой файл .gitignore таким образом, чтобы вы не отслеживали никаких артефактов из сборок.
Q2: Наилучшая практика — иметь ветку интеграции для сборки. При разработке используйте разделы или функциональные ветви. Когда будете готовы, объединитесь с веткой интеграции и переместите ее в центральный репозиторий, из которого maven сможет выполнять сборку. Google git-flow для получения дополнительных идей. Обычно вам нужен центральный сервер сборки, если вы работаете в команде, чтобы убедиться, что вы строите на одной машине. Это не тот случай, если вы работаете в одиночку или, возможно, только один разработчик.
Надеюсь, это поможет.
Комментарии:
1. Спасибо за совет! Я собираюсь поработать над этим сегодня вечером. Вы дали мне хорошую возможность начать. Приветствия!