В нашей сети есть «главный» сервер Mercurial, который мы используем для локального промежуточного блока. Наша команда делает все наши толчки и тяги в/из этой коробки. У меня проблемы с реализацией, которую я использую, но я также сомневаюсь, является ли то, что я хочу сделать, хорошей идеей...
Мы тоже хотим начать использовать BitBucket, но только как вторичный сервер. Я хотел бы использовать хук для автоматической отправки в Bitbucket, но я не могу заставить его работать правильно...
Вот HGRC из репозитория master:
[hooks]
changegroup =
changegroup.update = hg update
changegroup.bitbucket = hg push ssh://[email protected]/account/repo
Если я вручную отключу указанный выше толчок, все будет работать отлично. Однако в качестве крючка он не работает:
warning: changegroup.bitbucket hook exited with status 255
Я следовал этому руководству, чтобы заставить SSH работать: Настройка SSH для Git и Mercurial на Mac OSX /Линукс
Я получаю свои ключи, запускаю ssh-agent
и ssh-add
ключ. Но ssh-agent, похоже, ничего не делает, и как только я выхожу из сеанса SSH, он, кажется, оставляет память. Кроме того, когда я проверяю это с помощью ssh -Tv [email protected]
, он запрашивает мой пароль. Я думал, что весь смысл этого был в том, чтобы этого не делать?
Но если сделать шаг назад, возможно, это ужасная идея. Если я передам свой открытый ключ Bitbucket, не будет ли это теоретически означать, что если кто-то завладеет им, он сможет войти в мой ящик по SSH без пароля?
И если да, то какая альтернатива у меня есть для пересылки коммитов в битбакет? Я бы предпочел не использовать HTTPS, потому что это потребовало бы ввода нашего пароля битбакета в виде простого/текстового файла в файле .hg/hgrc
...
Может быть, есть какой-то более очевидный способ сделать это, который мне не хватает? Что касается разработчиков, я бы предпочел оставить все как есть (каждый нажимает на мастер), вместо того, чтобы перенастраивать ящик разработчика каждого, чтобы иметь закрытый ключ и вместо этого нажимать на битбакет...
Как всегда, спасибо за любую помощь, которую вы, ребята, можете предоставить.