Если подумать, большинство исходных дистрибутивов структурированы следующим образом.То есть макет репо не отражает макет развертывания.Есть исходный код в src
, который в итоге компилируется, может быть, в build
, и эти артефакты в свою очередь устанавливаются где-то вроде /usr/bin
.Вероятно, есть руководство, которое собирается другим набором инструментов и устанавливается в другом месте целевой системы.Может существовать веб-сайт, который развертывается совершенно другими средствами в другой целевой системе и т. Д. Для управления всем этим существует набор сценариев сборки и развертывания, некоторые из которых (глупо) не всегда отслеживаютсяс остальной частью системы.
Тем не менее, ничто из этого не очень помогает, кроме как ментальная модель, если вы не можете найти инструменты развертывания для вашего конкретного сценария.
Если вам нужно собратьваш собственный сценарий развертывания, вы можете начать с чего-то довольно простого.С предоставленным вами ограниченным фоном может показаться, что вам не нужно больше, чем
while read repo path; do
cd "$path"
mkdir "$repo"
cd "$repo"
git init
git pull /path/to/repo/"$repo"
done<<____HERE
A /var/www
1 /srv
____HERE