Vagrant: Как я могу запустить сценарий предоставления в моем Vagrantfile из частного репозитория? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть частный репозиторий на Github, он содержит скрипт, который я хотел бы использовать для предоставления Vagrant.Поскольку мой репозиторий является частным, мне нужно предоставить доступ к моему сценарию.Подскажите, пожалуйста, как это сделать.

Я пытался дать доступ с помощью токена в ссылке, но это вызывает эту ошибку:

C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/tempfile.rb:133:in `initialize': Invalid argument @ rb_sysopen - C:/Users/Stas/AppData/Local/Temp/vagrant-shell20181004-3104-19o2zkk.sh?token=blah-blah-blah-blah-blah-blah (Errno::EINVAL)
    from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/tempfile.rb:133:in `open'
    from C:/Program Files (x86)/Vagrant/embedded/mingw64/lib/ruby/2.4.0/tempfile.rb:133:in `block in initialize'
    ...

Очевидно, что Vagrant не можетобрезать GET параметры и имя файла.

Моя система: Windows.Я знаю о таким образом , но мне нужно другое решение.

1 Ответ

0 голосов
/ 04 октября 2018

Предпочтительным решением является то, на которое вы ссылаетесь, используя переадресацию агента SSH.Здесь мы используем это с Vagrant, и он работает очень хорошо.

В качестве альтернативы, вы можете использовать ключ развертывания GitHub , чтобы предоставить Vagrant доступ только для чтения к вашему личному репозиторию.Вы можете поместить незашифрованный закрытый ключ в каталог Vagrant, чтобы он отображался в /vagrant.Затем в сценарии предоставления установите его как /root/.ssh/id_rsa.Не забудьте установить разрешения для /root/.ssh и /root/.ssh/id_rsa, чтобы группа и другие не могли получить к ним доступ.После этого git clone должно работать.

Я бы отметил, что использование незашифрованных закрытых ключей - это плохая практика, хотя иногда это неизбежно при использовании ключей развертывания.Обратите особое внимание на то, чтобы незашифрованные закрытые ключи никогда не передавались на GitHub.

...