Ich würde gerne Git als Host für meine Website verwenden und würde eine Plattform lieben, auf der ich mich online einloggen kann, um mitzumachen (so etwas wie Github). Sie würden in diesem Fall denken, dass Github-Seiten die perfekte Route für mich sind, obwohl ich Github-Seiten nicht verwenden möchte. Ich möchte das alles auf meinen eigenen Servern hosten, wie Sie es bei Github Enterprise tun (aber kostenlos).
Ich habe Gitlab gefunden und mich gefragt, ob ich Gitlab-ähnliche Github-Seiten verwenden kann. Ist es möglich?
web-hosting
git
Ben Watkins
quelle
quelle
Antworten:
Gute Nachrichten!
Seit 8.3 (Dez 2015) hat GitLab "GitLab Pages". https://about.gitlab.com/2015/12/22/gitlab-8-3-released/
Diese Funktion ist auf GitLab.com (auf dem EE ausgeführt wird) verfügbar, wo Sie kostenlose, unbegrenzte öffentliche / private Repositorys haben können.
In der folgenden Dokumentation zu GitLab Pages wird erläutert, wie Sie Ihre statischen Websites auf GitLab kostenlos hosten können. http://doc.gitlab.com/ee/pages/README.html
quelle
Ich bin mir nicht sicher, was Sie fragen. Sie sagen, dass Sie auf Ihrem eigenen Server hosten möchten, aber Ihre Frage besagt, dass Sie wie Gitlab-Seiten hosten möchten, die nicht Ihr eigener Server sind.
In jedem Fall hilft das vielleicht
Das ist was ich mache
auf lokalem PC
Ich habe jetzt ein Repo vor Ort. Kopieren Sie es auf den Server
Jetzt habe ich es auf dem Remote-Server.
Jetzt gibt es auf der Website sowohl einen Master- als auch einen Live-Zweig. Ich mache das seit AFAICT. Du kannst nicht in den aktuellen Zweig pushen. Jetzt haben wir also einen "Live" -Zweig, der auf der Fernbedienung aktuell ist, und einen "Master" -Zweig, der es nicht ist
Schließlich füge eine Fernbedienung zu meinem lokalen Repo hinzu
Jetzt checke ich jedes Mal, wenn ich die Website aktualisieren möchte, Material in meine lokale Hauptniederlassung ein und führe dieses Skript aus
Das
git push
pusht meine Änderungen in den nicht aktuellen Zweig auf dem Webserver. Derssh
meldet sich dann beim Webserver an und leitet die Änderungen in "master" schnell an den aktuellen Zweig weiter. In diesem Fall der Zweig "live".--ff-only
sagt zu scheitern, wenn sich Änderungen auf dem Server befinden.Wenn es Änderungen auf dem Server gibt, kann ich sie mit in meinen lokalen Master ziehen
Auf mehr Sache. Bevor ich dies tue, richte ich SSH-Schlüssel auf dem Remote-Server ein, damit ich keine Passwörter eingeben muss
Dies hat absolut keine Verbindung zu Github oder Gitlab. Ich könnte meine Änderungen auch dort vornehmen, aber sie sind nicht miteinander verbunden.
quelle
Es gibt ein NodeJS-Projekt, das dies implementiert: https://github.com/Glavin001/GitLab-Pages
quelle
Mit ein wenig Suche nach verschiedenen Fragen bei Google habe ich einen Weg gefunden. Es ist vielleicht nicht der beste Weg und es ist vielleicht zu kompliziert, aber es sollte funktionieren und das ist die Hauptsache. Wenn Sie einen besseren Weg kennen oder einen finden können, lassen Sie es mich bitte wissen!
Ich habe festgestellt, dass Sie Ihren Code über Git-Hooks auf Ihren Servern bereitstellen können. Alles, was Sie tun müssen, ist SSH auf Ihrem Server, erstellen Sie ein Git-Repo und richten Sie dann einen Hook ein, damit Sie Commits an dieses Repo senden können. Auf diese Weise können Sie Ihre Commits auf Ihre Server übertragen, haben jedoch an dieser Stelle nichts mit gitlab zu tun.
Der nächste Schritt ist das Hinzufügen der Push-URL für Gitlab zur selben Fernbedienung. Auf diese Weise werden Sie jedes Mal sowohl zu gitlab als auch zur Site selbst weitergeleitet. Infolgedessen werden sowohl das Gitlab-Repo als auch die eigentliche Site synchronisiert. Obwohl dies ein Hack ist und definitiv nicht effizient ist.
In diesem Blog-Beitrag habe ich herausgefunden, wie Sie Ihren Code per Git auf Ihren Servern bereitstellen können: http://sebduggan.com/blog/deploy-your-website-changes-using-git/
Ich habe festgestellt, dass Sie aus dieser Frage zu stackoverflow zwei Push-URLs zu Ihren Remotes in git hinzufügen können: /programming/14290113/git-pushing-code-to-two-remotes
Wie gesagt, wenn Sie einen besseren Weg finden, lassen Sie es mich bitte wissen. Dies wird funktionieren, aber es bedeutet, dass zwei Versionen desselben Codes vorhanden sind. Dies ist natürlich sehr chaotisch und eine große Verschwendung des Speichers Ihres Servers.
quelle
Derzeit können Sie GitLab CI am besten auf einen statischen Server wie Amazon S3 pushen.
Wenn Sie mit Git bereitstellen können, ist die folgende (ungelöste) Frage spezifisch für die Vorgehensweise mit gitlab: /programming/14288288/gitlab-repository-mirroring
Im Feature-Tracker gibt es dafür eine spezielle Anfrage: http://feedback.gitlab.com/forums/176466-general/suggestions/5599145-preview-render-static-html-pages-pushed-to-repos
quelle