Git-Server-Einrichtung

Im vorherigen Kapitel haben wir Github für unser Remote-Repository verwendet. Öffentliche Projekte auf Github sind kostenlos, und seit 2019 können auch private Repositorys auf Github uneingeschränkt genutzt werden.

Natürlich können wir auch unseren eigenen Git-Server einrichten, um ihn als privates Repository zu verwenden.

Verwendung eines Bare-Repositorys

1. Git installieren

Git auf Ubuntu Server installieren:

sudo apt install git

Wenn Ihr System Centos/RedHat ist, lautet der Installationsbefehl:

yum -y install git-core

Fedora-Installationsbefehl:

# yum install git (Fedora 21 及之前的版本)
# dnf install git (Fedora 22 及更高新版本)

Als Nächstes erstellen wir eine Git-Benutzergruppe und einen Benutzer zum Ausführen des Git-Dienstes:

$ groupadd git
$ useradd git -g git

2. Ein Bare-Repository erstellen

Melden Sie sich als Git-Benutzer an und erstellen Sie dann ein Bare-Repository in dessen Home-Verzeichnis.

$ sudo su - git
Wählen Sie zunächst ein Verzeichnis als Git-Repository, angenommen es ist /home/gitrepo/example.git, und führen Sie den folgenden Befehl im Verzeichnis /home/gitrepo aus:
$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare example.git

Der obige Befehl erstellt ein leeres Git-Repository. Git-Repositories auf dem Server enden normalerweise mit.git.git. Ändern Sie dann den Benutzer des Repositorys auf git (falls es von einem anderen Benutzer wie root betrieben wird):

$ chown -R git:git example.git

3. Zertifikats-Login erstellen

Fügen Sie Ihren öffentlichen Schlüssel zu ~/.ssh/authorized_keys hinzu, um den Fernzugriff zu ermöglichen.

Sammeln Sie die öffentlichen Schlüssel aller Benutzer, die sich anmelden müssen. Die öffentlichen Schlüssel befinden sich in der Datei id_rsa.pub. Importieren Sie unsere öffentlichen Schlüssel in die Datei /home/git/.ssh/authorized_keys, einen pro Zeile.

Wenn die Datei nicht existiert, erstellen Sie sie:

$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
# 在文件中添加你的 SSH 公钥

4. Repository klonen

$ git clone [email protected]:/home/gitrepo/example.git
Cloning into 'example'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

192.168.45.4 ist die IP des Git-Servers. Sie müssen sie in die IP Ihres eigenen Git-Servers ändern.

Auf diese Weise ist die Installation unseres Git-Servers abgeschlossen.


GitLab verwenden

GitLab ist ein leistungsstarkes Git-Service-Management-Tool, geeignet für mittlere und große Teams, und bietet umfangreiche Funktionen wie Benutzerverwaltung, CI/CD, Code-Review usw.

1. GitLab installieren

Gemäßder offiziellen GitLab-DokumentationGitLab installieren.

Zum Beispiel unter Ubuntu:

# sudo apt-get update
# sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
# sudo EXTERNAL_URL="http://yourdomain" apt-get install gitlab-ee

EXTERNAL_URL="http://yourdomain" Um Ihre eigene Domain oder öffentliche IP festzulegen, zum Beispiel:

sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ee

2. GitLab konfigurieren

Öffnen Sie nach der Installation einen Browser und besuchen Sie http://yourdomain, um das Administratorkonto einzurichten.

Wenn eine ähnliche Echo-Nachricht wie die folgende erscheint, zeigt dies an, dass GitLab erfolgreich installiert wurde.

3. Projekt erstellen

Melden Sie sich bei GitLab an, erstellen Sie ein neues Projekt, der Benutzername istroot。

Anmeldepasswort abrufen:

sudo cat /etc/gitlab/initial_root_password

Die Ergebnisse sind wie folgt:

Verwenden Sie den Benutzernamen für die erste Anmeldungroot:

4. Schlüsselpaardatei generieren und öffentlichen Schlüssel abrufen

Installieren Sie das Git-Tool (überspringen, falls bereits installiert):

sudo apt-get install git

Schlüsselpaardatei id_rsa generieren:

ssh-keygen

Während des Schlüsselpaar-Generierungsprozesses fordert das System Sie auf, das Verzeichnis zum Speichern des Schlüsselpaars (standardmäßig .ssh/id_rsa im Home-Verzeichnis des aktuellen Benutzers, z. B. /home/test/.ssh/id_rsa) und das Passwort für das Schlüsselpaar einzugeben. Sie können sie manuell eingeben oder die Eingabetaste drücken, um die Standardwerte beizubehalten.

Nach der Generierung werden die folgenden Informationen angezeigt:

Inhalt der öffentlichen Schlüsseldatei id_rsa.pub anzeigen und kopieren:

cat .ssh/id_rsa.pub

Es werden Informationen ähnlich den folgenden angezeigt:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** [email protected]****

5. Projekt erstellen

Klicken Sie auf der GitLab-Startseite auf die Option „Projekt erstellen“:

Klicken Sie auf „Leeres Projekt erstellen“, legen Sie Projektname und Projekt-URL fest und klicken Sie dann auf „Projekt erstellen“:

In diesem Artikel wird das Projekt mywork als Beispiel zur Veranschaulichung verwendet.

6. SSH-Schlüssel hinzufügen

Klicken Sie auf der aktuellen Projektseite auf „SSH-Schlüssel hinzufügen“:

Fügen Sie den Inhalt der Public-Key-Datei id_rsa.pub in das Textfeld ein, das mit „Schlüssel“ beschriftet ist:

Klicken Sie auf „Schlüssel hinzufügen“. Nachdem der SSH-Schlüssel hinzugefügt wurde, wird er in der folgenden Abbildung angezeigt:

Kopieren Sie den Clone-Link. Dieser Link wird für Clone-Vorgänge benötigt:

GitLab verwenden

1. Konfigurieren Sie die Benutzerinformationen für die Verwendung des Git-Repositorys, einschließlich Benutzername und E-Mail.

git config --global user.name "testname" 
 
git config --global user.email "[email protected]" 

2. Klonen Sie das erstellte Projekt auf den lokalen Rechner.

git clone [email protected]:root/mywork.git

3. Laden Sie die Datei auf den GitLab-Server hoch:

In das Projektverzeichnis wechseln:

cd mywork/ 

Erstellen Sie die Zieldatei, die auf GitLab hochgeladen werden soll:

echo "test" > /home/test/test.sh

Kopieren Sie die Zieldatei oder das Zielverzeichnis in das Projektverzeichnis:

cp /home/test/test.sh ./ 

Fügen Sie die Datei test.sh zum Index hinzu:

git add test.sh

Committen Sie die Datei test.sh in das lokale Repository:

git commit -m "test.sh"

Synchronisieren Sie die Datei auf den GitLab-Server:

git push -u origin main

Überprüfen Sie auf der Webseite, ob die hochgeladene Datei test.sh auf den GitLab-Server synchronisiert wurde:

Weitere Erweiterungen