Sie brauchen keinen Webhook dafür. Ein normaler Post-Receive-Hook funktioniert sehr gut.
Um einen solchen Hook zu erstellen und zu verwenden, müssen Sie sich nur auf dem Server anmelden, auf dem Ihr Gitlab installiert ist, und einen SSH-Schlüssel für Git-Benutzer erstellen.
sudo -u git ssh-keygen -f /home/git/.ssh/reponame_key
(kein Passwort eingeben, wenn Sie dazu aufgefordert)
zu Ihrem GitHub Konto gehen und fügen Sie den öffentlichen Schlüssel (als /home/git/ssh/reponame_key.pub
erstellt wird worden), um Ihr Projekt als deploy Schlüssel. werfen Sie einen Blick auf https://help.github.com/articles/managing-deploy-keys, wenn Sie Hilfe dabei brauchen.
Sobald dies geschehen ist, müssen Sie nur die Verbindung zwischen Ihrem git-Server konfigurieren müssen und Github ist: einen Alias ssh-Konfiguration hinzufügen git Benutzers (fügen folgende Zeilen zu /home/git/.ssh/config
- schaffen Sie es, wenn es nicht vorhanden ist)
Host reponame
IdentityFile /home/git/.ssh/reponame_key
HostName github.com
User git
nun die neue Remote in der Repository (die Alias Sie gerade erstellt):
cd /home/git/repositories/namespace/reponame.git
git remote add --mirror github reponame:youruser/reponame.git
Jetzt, wo alles an seinem Platz ist, Sie den eigentlichen Haken erstellen müssen werden:
cd /home/git/repositories/namespace/reponame.git/hooks
echo "exec git push --quiet github &" >> post-receive
chmod 755 post-receive
Der lastcommand ist sehr wichtig, da git überprüft, ob ein hook ausführbar ist, bevor er ausgeführt wird.
Das war's!
(Ersetzen Sie Reponame, Namespace und youruser nach Ihren realen Konten und genießen Sie).
Hinweis: Wenn Sie möchten, dass Ihr Name andavatar in der Nähe von github festgeschrieben wird, stellen Sie sicher, dass die auf gitlab verwendete E-Mail-Adresse eine der Adressen ist, die auch in Ihrem github-Konto enthalten sind. Ansonsten sehen Sie Ihren gitlab-Benutzernamen.
möglich Duplikat [Gitlab Repository-Spiegelung] (http://stackoverflow.com/questions/14288288/gitlab-repository-mirroring) –