Развертывание каждого подкаталога моего git-репозитория для другой цели с помощью CI / CD - PullRequest
3 голосов
/ 06 мая 2019

У меня есть один репозиторий git с несколькими проектами.Код каждого проекта находится в отдельном подкаталоге.Каждый проект имеет свою собственную процедуру развертывания.Мне бы хотелось, чтобы, когда я нажимал коммит в каталоге проекта, он развертывал правильный проект (и только он).В настоящее время я использую конвейер bitbucket, однако, похоже, у него нет этой опции.Как я могу сделать эту работу?(Я могу переключиться на другой инструмент CI / CD)

1 Ответ

3 голосов
/ 06 мая 2019

У него нет этой опции, потому что это не то, как используется git.

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

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

Итак, мое решение вашей проблемы: Refactor. Разделите проекты на отдельные репозитории, каждый со своей собственной стратегией развертывания работает отлично. Если вам необходимо соединить их и совместно использовать ресурсы, сделайте их подмодулями, создайте новый репозиторий и добавьте их как подмодули. Это должно решить ваши проблемы с испорченной историей и неконтролируемыми папками.

...