проблема с мерзавцем - PullRequest
0 голосов
/ 25 июня 2010

У меня есть клон проекта на локальной машине с

git clone git@github.com:test/abc.git

Теперь я хочу развернуть свой проект на моем сервере Ubuntu.

, поэтому я создал скрипт, который устанавливает git намой сервер UbuntuИ теперь я хочу развернуть мой проект рельсы на сервере.как git clone git@github.com: test / abc.git, но я не установил ключ ssh на моем сервере.Есть ли способ, как я могу создать клон без установки ключа ssh на моем сервере.

Обязательно ли создавать каждый ssh ​​на каждом сервере?

Что если у меня 20 серверов?Мне нужно настроить ключ SSH для клонирования каждого сервера?

Можно ли просто спросить пароль, чем он создаст клон?

Или каким-либо другим способом?

Ответы [ 4 ]

2 голосов
/ 25 июня 2010

Вы можете использовать версию только для чтения.Рядом с именем вашего хранилища вы можете выбрать протокол http.Этот URL можно использовать без ключа ssh.Если это частный репозиторий, вам нужно добавить свое имя пользователя в URL.

$ git clone http://myname@github.com:test/abc.git
Initialized empty Git repository in /Users/myname/Projects/abc/.git/
password: 

Затем вы вводите свой пароль, а чуть позже у вас есть клон.Недостатком является то, что вам нужно ввести пароль, если вы используете частное хранилище.

Хотя я не вижу проблемы с добавлением нескольких ssh-ключей.Если вам действительно нужно развернуть на 20 серверах, вы можете подумать об использовании метода упаковки с хорошей поддержкой ОС для автоматического обновления.

1 голос
/ 25 июня 2010

Попытка использовать инструмент управления конфигурацией для развертывания установки - ошибка.Вы действительно намереваетесь обновить код из каждой из этих 20 систем?Почему же тогда вы предоставляете им доступ для записи кода?

Создайте тарбол или используйте любые системы управления пакетами, доступные на языке, на котором вы разрабатываете (например, в Perl вы можете использовать Dist ::Zilla , Module :: Install или ExtUtils :: MakeMake r).

0 голосов
/ 25 июня 2010

Если вы развертываете рельсовые проекты, вы должны проверить Capistrano - http://www.capify.org/index.php/Getting_Started

0 голосов
/ 25 июня 2010

Мы создали скрипт php, который создавал RPM (и используя Alien, также создавал DEB) для обновления нашего более чем 200 машинного парка.В качестве URL-адреса типа "http://repo/fetch/rpm/"" был назван скрипт, проверяющий, был ли добавлен новый тег git, вставленный в репозиторий package_name, и, если это так, используйте шаблон RPM, который мы создали для каждого репо (обычно помещают в .build / rpm.spec), чтобы построить RPM, сохранить его в каталоге локального кэша и прочитать содержимое в виде заголовка файла.

Я понимаю, что для вашего приложения это не будет работать, поскольку вы используете GitHub - но этопросто идея для тех, у кого есть свои собственные удаленные репозитории. Хрон в ящиках будет запрашивать эти URL один раз в день и запускать rpm -Uvh в выходных данных.

Для вашего примера было бы целесообразно архивировать каждый релизи либо поместите это в общедоступный URL-адрес, либо создайте скрипт для rsync его на каждый сервер + exec

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...