Как развернуть сайт из репозитория Gitolite на том же сервере? - PullRequest
0 голосов
/ 05 февраля 2012

Я использую Sinatra, Vlad Deployer и Gitolite, пытаясь развернуть тестовый сайт на моем сервере. Моя установка gitolite работает нормально, даже если я управляю / создаю репозитории, push-файлы, клонирование и т. Д., Но когда я пытаюсь выполнить развертывание через Vlad на моем сервере, я получаю сообщение об ошибке отказа в разрешении на

$ rake vlad:update

, который возвращает

rake aborted!
execution failed with status 1:ssh mysite.com unmask 02 && cd ..........

мой файл vlad deploy.rb выглядит так

#deploy.rb

set :application, "mysite.com/sample-site"
set :user,        "me"
set :repository, "git@mysite.com:sample-site.git"
set :domain, "mysite.com"
set :deploy_to, "~/sites/#{application}"

Я думаю, что происходит то, что пользователь gitolite по имени 'git' пытается клонировать репозиторий с сервера, на котором он живет, но не имеет надлежащих разрешений. Я подумал, что мог бы создать новую пару rsa для пользователя git, а затем просто добавить ее в список пользователей в моем gitolite keydir, но с установкой gitolite вы больше не сможете использовать ssh с «ошибкой PTY 0», которая выглядит как нормальный.

Когда я пытался клонировать репозитории с сервера на себя, то есть git clone, как я, из репозитория на сервере, меня спрашивали пароль для git @ mysite, поэтому я пытался скопировать свой клиент id_rsa и id_rsa. pub на мой сервер, затем добавьте меня @ mysite в качестве другого пользователя в моем клиенте gitolite-admin.conf. Когда я отправляю это обновление, оно продолжает выдавать ошибку

Writing objects: 100% (4/4), 378 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)
remote: WARNING: a pubkey file can only have one line (key); ignoring jon@mysite.com.pub
remote:          Perhaps you're using a key in a different format (like putty/plink)?
remote:          If so, please convert it to openssh format using 'ssh-keygen -i'.
remote:          If you want to add multiple public keys for a single user, use
remote:          "user@host.pub" file names.  See the "one user, many keys"
remote:          section in doc/3-faq-tips-etc.mkd for details.
remote: 
remote:         ***** WARNING *****
remote:         the following users (pubkey files in parens) do not appear in any access rules:
remote: jon@mysite.com(jon@mysite.com.pub)
remote: 
remote:         ***** WARNING *****
remote:         the following users have no pubkeys:
remote: jon@mysite

Первоначально я пытался добавить своего нового пользователя сервера с me@site.com.pub, но затем подумал, что переключение на me@mysite.pub было более понятным и могло бы решить некоторые проблемы. Теперь у меня есть некоторый артефакт от этого, даже после удаления и / или переименования всего в самом ключе и имени ключей в me@mysite.pub

Итак, где я сейчас нахожусь, так это то, что я МОГУ клонировать с сервера при входе в систему под своим именем, но он каждый раз запрашивает мой пароль id_rsa. Когда я ввожу его, я могу скачать. Мой рейк vlad: обновление, однако, вызывает те же ошибки, что и при запуске .....

спасибо за любую помощь

1 Ответ

0 голосов
/ 05 февраля 2012

Я не могу комментировать конкретно vlad the deployer, но вам не нужно ничего делать с ключами для учетной записи git. Вам необходимо настроить ключи для пользователя, от имени которого вы запускаете процесс. Кажется, это «пользователь»? Поэтому вам нужно сгенерировать rsa для пользователя на этом компьютере и добавить ключ pub.

Ошибка, которую вы видите в конце вашего вопроса, является несоответствием между ключами, которые gitolite видит в вашем keydir, и записями в вашем конфигурационном файле. Все в keydir должно заканчиваться на .pub, и вы ссылаетесь на это в conf без .pub

...