Я пытаюсь использовать vagrant для настройки среды разработки, которая автоматически клонирует два репозитория, если они еще не были клонированы.
Я написал простой скрипт для клонирования репозиториев, после многих неудачных попыток заставить puppet запускать команду git напрямую. По какой-то причине я думал, что этот метод будет надежным, но оказалось, что я лучший дурак, чем я думал.
exec {"load-repos":
command =>"/bin/bash /vagrant/manifests/modules/scripts/clone_repos.sh",
require => Package["git-core"],
}
Вот сценарий:
#!/bin/bash
if [ ! -d /vagrant/repo-one-dest ]; then
git clone [email protected]:/repo-one.git /vagrant/repo-one-dest
fi
if [ ! -d /vagrant/repo-two-dest ]; then
git clone [email protected]:/repo-two.git /vagrant/repo-two-dest
fi
exit
Закрытые ключи настроены правильно. Когда я вхожу в виртуальную машину и вручную запускаю bash clone_repos.sh
, все работает. Независимо от того, сколько раз я перезагружаю vagrant и позволяю puppet делать свое дело, репозитории никогда не загружаются через exec. Что мне не хватает?
[
тесте. - person ormaaj   schedule 24.06.2012