Ответ 1
Для этого вам не нужен webhook. Обычный крюк после приема будет работать очень хорошо.
Чтобы создать и использовать такой крючок, вам просто нужно войти в систему на сервере, где установлен ваш gitlab, и создать ключ ssh для пользователя git.
sudo -u git ssh-keygen -f /home/git/.ssh/reponame_key
(не вводите кодовую фразу при запросе)
Перейдите в свою учетную запись github и добавьте открытый ключ (он был создан как /home/git/ssh/reponame_key.pub
) в ваш проект в качестве ключа развертывания.
посмотрите https://help.github.com/articles/managing-deploy-keys, если вам нужна помощь.
Как только это будет сделано, вам просто нужно настроить соединение между сервером git и github:
добавьте псевдоним в git user ssh configuration (добавьте следующие строки в /home/git/.ssh/config
- создайте его, если он не присутствует)
Host reponame
IdentityFile /home/git/.ssh/reponame_key
HostName github.com
User git
Теперь добавьте новый пульт (с использованием созданного вами псевдонима) в ваш репозиторий:
cd /home/git/repositories/namespace/reponame.git
git remote add --mirror github reponame:youruser/reponame.git
Теперь, когда все будет на месте, вам нужно будет создать фактический крючок:
cd /home/git/repositories/namespace/reponame.git/hooks
echo "exec git push --quiet github &" >> post-receive
chmod 755 post-receive
Последняя команда очень важна, потому что git проверяет, действительно ли выполнялся запуск hook перед запуском.
Что это!
(Замените reponame, namespace и youruser в соответствии с вашими реальными учетными записями и наслаждайтесь).
Последнее примечание: если вы хотите, чтобы ваше имя andavatar было близко к github, убедитесь, что адрес электронной почты, который вы используете на gitlab, является одним из адресов, подписанных на ваш аккаунт github. В противном случае вы увидите свое имя пользователя gitlab.