Docker-Compose - Bereitstellung der chinesischen Gitlab-Version per Mausklick - Methodenschritte

Docker-Compose - Bereitstellung der chinesischen Gitlab-Version per Mausklick - Methodenschritte

1. Einführung in Gitlab

Offizielle Gitlab-Adresse: https://about.gitlab.com/

GitLab ist ein Open-Source-Versionsverwaltungssystem, das Ruby on Rails verwendet, um ein selbstgehostetes Git-Projekt-Repository zu implementieren, das über eine Weboberfläche auf öffentliche oder private Projekte zugreifen kann. Es verfügt über eine ähnliche Funktionalität wie Github und bietet die Möglichkeit, Quellcode zu durchsuchen und Fehler und Kommentare zu verwalten. Sie können den Teamzugriff auf das Repository verwalten, es erleichtert das Durchsuchen festgeschriebener Versionen und stellt eine Dateiverlaufsbibliothek bereit. Teammitglieder können über das integrierte einfache Chatprogramm (Wall) kommunizieren. Es bietet außerdem eine Funktion zum Sammeln von Codeausschnitten, die eine einfache Wiederverwendung von Code ermöglicht und den Abruf bei zukünftigem Bedarf erleichtert.

Gitlab ist ein Code-Repository, mit dem sich Code-Management und Teamzusammenarbeit zwischen Entwicklern sehr gut umsetzen lässt. Derzeit werden am häufigsten Jenkins und GitLab verwendet, um eine kontinuierliche Integration und Bereitstellung zu erreichen. Die offiziell empfohlene Konfiguration besteht aus 2 CPU-Kernen und 4 GB Arbeitsspeicher. Dies liegt daran, dass der Gesamtbetrieb von Gitlab mehrere Prozesse umfasst, z. B.: nginx, postgresql, prometheus, redis usw.

Zu diesem Zweck wird hier Docker-Compose verwendet, um die chinesische Community-Version von Gitlab auf einer einzigen Maschine bereitzustellen, damit jeder die leistungsstarken Funktionen von Gitlab besser erleben kann. Zu dem restlichen Unsinn werde ich nicht viel sagen, sondern einfach anfangen, daran zu arbeiten! !

2. Docker installieren

1. Installieren Sie Docker-Abhängigkeitspakete

[root@gitlab ~]# yum -y installiere yum-utils device-mapper-persistent-data lvm2

2. Fügen Sie die Docker-ce-Image-Quelle hinzu und installieren Sie sie

1.1) Ausländische Quellen (geeignet für im Ausland tätige Freunde)

[root@gitlab ~]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

1.2) Inländische Alibaba Cloud-Quelle (geeignet für Freunde, die in China arbeiten)

[root@gitlab ~]# yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2) Laden Sie die Paketinformationen des Servers auf den lokalen Computer herunter und speichern Sie sie im Cache.

[root@gitlab ~]# yum makecache fast

3) Installieren Sie Docker CE

[root@gitlab ~]# yum -y installiere docker-ce

4) Konfigurieren Sie den Download-Docker-Image-Beschleuniger

Ausländische Accelerators:

[root@gitlab ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://bc437cce.m.daocloud.io

Inländischer Alibaba Cloud Accelerator:

vim /etc/docker/daemon.json
#Folgendes eingeben und speichern:
{
"Registrierungsspiegel": [https://9w1hl6qt.mirror.aliyuncs.com]
}

5) Laden Sie systemctl neu und starten Sie den Docker automatisch

[root@gitlab ~]# systemctl daemon-reload
[root@gitlab ~]# systemctl starte Docker
[root@gitlab ~]# systemctl aktiviere Docker
[root@gitlab ~]# docker --version 
Docker-Version 18.09.0, Build 4d60db4

3. Installieren Sie Docker-Compose

Laden Sie die Docker-Compose-Binärdatei herunter und fügen Sie Ausführungsberechtigungen hinzu

[root@gitlab ~]# curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s-uname -m` -o /usr/local/bin/docker-compose
% Gesamt % Empfangen % Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktuell
Dload Upload Gesamtverbrauch Verbleibende Geschwindigkeit
100 617 0 617 0 0 590 0 --:--:-- 0:00:01 --:--:-- 590
100 11,2 Mio. 100 11,2 Mio. 0 0 498.000 0 0:00:23 0:00:23 --:--:-- 737.000
[root@gitlab ~]# chmod +x /usr/local/bin/docker-compose
[root@gitlab ~]# docker-compose --version
Docker-Compose-Version 1.23.2, Build 1110ad01

4. Installieren Sie Gitlab

1) Bearbeiten Sie die YML-Datei von Docker-Compose

[root@gitlab ~]# mkdir gitlab
[root@gitlab ~]# cd gitlab
[root@gitlab gitlab]# vim docker-compose.yml
 Version: '2'
 Leistungen:
   gitlab:
    Bild: „twang2218/gitlab-ce-zh:latest“
    Containername: "gitlab"
    Neustart: sofern nicht gestoppt
    privilegiert: wahr
    Hostname: „gitlab“
    Umfeld:
    TZ: „Asien/Shanghai“
    GITLAB_OMNIBUS_CONFIG: |
     external_url 'http://ip oder Domänenname umgekehrt durch nginx'
     gitlab_rails['Zeitzone'] = 'Asien/Shanghai'
     gitlab_rails['smtp_enable'] = wahr
     gitlab_rails['smtp_address'] = "smtp.163.com"
     gitlab_rails['smtp_port'] = 465
     gitlab_rails['smtp_user_name'] = "[email protected]"
     gitlab_rails['smtp_password'] = "Autorisierungscode"
     gitlab_rails['smtp_domain'] = "163.com"
     gitlab_rails['smtp_authentication'] = "Anmelden"
     gitlab_rails['smtp_enable_starttls_auto'] = wahr
     gitlab_rails['smtp_tls'] = wahr
     gitlab_rails['gitlab_email_from'] = '[email protected]'
     gitlab_rails['gitlab_shell_ssh_port'] = 22
    Häfen:
     - „8181:80“
     - '8443:443'
     - '22:22'
    Bände:
     - /opt/gitlab/config:/etc/gitlab
     - /opt/gitlab/data:/var/opt/gitlab
     - /opt/gitlab/logs:/var/log/gitlab

Anweisungen und Vorsichtsmaßnahmen zur Portzuordnung:

  • Das offizielle Gitlab-Image empfiehlt, den Container-Port 80 dem Host-Port 8181 zuzuordnen.
  • Das offizielle Gitlab-Image empfiehlt, den Container-Port 443 dem Host-Port 8443 zuzuordnen
  • Das offizielle Gitlab-Image empfiehlt, den Container-Port 22 dem Host-Port 22 zuzuordnen.

⭐️Die ersten beiden Zeilen können nicht gleichzeitig geschrieben werden. Sie sollten leer bleiben. Zur Erkennung können Sie die Website zur YML-Dateierkennung aufrufen:

https://www.bejson.com/validators/yaml_editor/

Wenn Ihr Test wie in der folgenden Abbildung aussieht, bedeutet dies, dass die YML-Datei völlig korrekt ist:


Folgendes sehe ich auf meinem Linux-Server:

2) Erstellen Sie relevante Verzeichnisse

[root@gitlab gitlab]# mkdir -p /opt/gitlab/{config,data,logs}
[root@gitlab gitlab]# ls -l /opt/gitlab/
gesamt 0
drwxr-xr-x 2 root root 6 Dez 22 12:03 config
drwxr-xr-x 2 root root 6 Dez 22 12:03 Daten
drwxr-xr-x 2 root root 6 Dez 22 12:03 Protokolle

Die Verzeichnisbeschreibung lautet wie folgt:

  • config speichert GitLab-Konfigurationsinformationen
  • Datenspeicherdatenbank
  • Protokolle Speicherprotokolle

3) Ziehen Sie die chinesische Version des Gitlab-Image

[root@gitlab gitlab]# docker pull twang2218/gitlab-ce-zh:latest
aktuell: Abrufen von twang2218/gitlab-ce-zh
8ee29e426c26: Ziehen abgeschlossen
6e83b260b73b: Ziehen abgeschlossen
e26b65fd1143: Ziehen abgeschlossen
40dca07f8222: Ziehen abgeschlossen
b420ae9e10b3: Ziehen abgeschlossen
a218309dd589: Ziehen abgeschlossen
5c60fd7ba0ce: Ziehen abgeschlossen
659c2144b5a3: Ziehen abgeschlossen
8289bbac0d0e: Pull abgeschlossen
31bbd150e8a7: Ziehen abgeschlossen
9114e78243fa: Ziehen abgeschlossen
e242e5cd1314: Ziehen abgeschlossen
0a079dc3f92c: Ziehen abgeschlossen
f0e195b09fd2: Ziehen abgeschlossen
6e23346e2f58: Ziehen abgeschlossen
91f00659be69: Ziehen abgeschlossen
a1031bcc5b2c: Ziehen abgeschlossen
e3074327c7b1: Ziehen abgeschlossen
a917618dbe42: Ziehen abgeschlossen
Zusammenfassung: sha256:62686b74c6fca5ece8ed582d03a126c5988423dd8a19ce70e9a22357ffcaf1c8
Status: Neueres Image für twang2218/gitlab-ce-zh:latest heruntergeladen

[root@gitlab gitlab]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
twang2218/gitlab-ce-zh latest 18da462b5ff5 vor 4 Monaten 1,61 GB

4) Starten Sie den Gitlab-Container

Bevor Sie beginnen, müssen Sie Port 22 des Hostcomputers ändern. Da der Hostcomputer Port 22 belegt, schlägt der Start des Containers fehl, da die Zuordnung nicht vorgenommen werden kann. Ändern Sie ihn wie folgt:
vim /etc/ssh/sshd_config

Ändern Sie standardmäßig Zeile 17: Port 2222

Starten Sie sshd nach der Änderung neu: systemctl restart sshd

[root@gitlab gitlab]# netstat -tulnp | grep 22
tcp 0 0 0.0.0.0:2222 0.0.0.0: LISTEN 31889/sshd
tcp6 0 0 :::2222 ::: LISTEN 31889/sshd

Offizieller Start:

[root@gitlab gitlab]# docker-compose up -d
Netzwerk „gitlab_default“ mit dem Standardtreiber erstellen
Gitlab erstellen ... fertig

[root@gitlab gitlab]# docker-compose ps
Name Befehl Status Ports
gitlab /assets/wrapper Aktiv (fehlerhaft) 0.0.0.0:22->22/tcp, 0.0.0.0:8443->443/tcp, 0.0.0.0:8181->80/tcp

[root@gitlab gitlab]# docker ps -a
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
814e559dc728 twang2218/gitlab-ce-zh:latest "/assets/wrapper" vor 5 Minuten Aktiv seit 5 Minuten (fehlerfrei) 0.0.0.0:22->22/tcp, 0.0.0.0:8181->80/tcp, 0.0.0.0:8443->443/tcp gitlab

5) Gitlab-Einstellungen starten

[root@gitlab gitlab]# chmod +x /etc/rc.local
[root@gitlab gitlab]# ls -l /etc/rc.local
lrwxrwxrwx 1 root root 13 Dez 3 14:31 /etc/rc.local -> rc.d/rc.local
[root@gitlab gitlab]# echo "cd /root/gitlab && docker-compose up -d" >> /etc/rc.local
[root@gitlab gitlab]# tail -1 /etc/rc.local
cd /root/gitlab und docker-compose up -d

6)Gitlab-Verwaltungsschnittstelle

Adresse: Geben Sie die IP-Adresse oder den Domänennamen in Zeile 12 der YML-Datei im Browser ein

Benutzer: root

Passwort: Sie müssen für die erste Anmeldung manuell ein Passwort festlegen

Wie in der folgenden Abbildung dargestellt:


Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Erläutern Sie die Bereitstellung und Konfiguration des Clickhouse Docker-Clusters anhand von Beispielen.
  • Detaillierte Erläuterung des Beispiels eines PHP-Projekts zur Docker-Compose-Bereitstellung
  • So stellen Sie Gitlab mit Docker-Compose bereit
  • Eine kurze Analyse des Problems, dass MySQL bei der Bereitstellung mit Docker-Compose nicht zugänglich ist
  • Tutorial zum schnellen Bereitstellen von Clickhouse mit Docker-Compose

<<:  Linux CentOS6.5 yum installiere mysql5.6

>>:  So können Sie lange Vue-Listen schnell laden

Artikel empfehlen

Installationsprozess von VMware vCenter 6.7 (grafisches Tutorial)

Hintergrund Ursprünglich wollte ich ein 6.7 Vcent...

Anzeigen und Analysieren des MySQL-Ausführungsstatus

Wenn Sie den Eindruck haben, dass ein Problem mit...

MySQL-Datenbank-Indexreihenfolge durch Sortierung – detaillierte Erklärung

Inhaltsverzeichnis Die Ursache des Vorfalls Sorti...

So versetzen Sie JavaScript in den Ruhezustand oder in den Wartezustand

Inhaltsverzeichnis Überblick Überprüfen von setTi...

Navicat importiert CSV-Daten in MySQL

In diesem Artikel erfahren Sie, wie Sie mit Navic...

Welche Wissenssysteme brauchen Webdesigner?

Produktdesigner sind mit komplexen und großen Fert...

So verwenden Sie den Skeleton-Bildschirm im Vue-Projekt

Heutzutage ist die Anwendungsentwicklung grundsät...