Ich wollte verschiedene Dinge mit der Mattermost-API ausprobieren, und als ich versuchte, schnell eine GitLab-Umgebung zu erstellen, war ich unerwartet süchtig danach, also werde ich das, was ich getan habe, verlassen. Ich möchte eine GitLab-Umgebung mit DockerForWindows erstellen.
Ich habe es auf GitHub gestellt. (https://github.com/shimi58/CentOS8_GitLab) Die Einstellung Mattermost ändert sich jedoch jedes Mal, wenn Sie sie erstellen. Daher ist das unten beschriebene Verfahren erforderlich.
Betriebsüberprüfungsumgebung | Ausführung |
---|---|
Windows10 Home Edition | Version 2004 |
Docker for Windows | 2.4.0.0 |
Ich werde es in der Docker-Datei beschreiben. Das Ergebnis ist wie folgt.
FROM centos:8
#Lokalisierung ins Japanische
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial && \
dnf -y upgrade && \
dnf -y install glibc-locale-source && \
dnf clean all && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 && \
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#C LANG für die Installation von Gitlab.UTF-Wechseln Sie zu 8
ENV LANG="C.UTF-8" \
LANGUAGE="ja_JP:ja" \
LC_ALL="ja_JP.UTF-8"
#Root-Passworteinstellung
RUN echo "root:root" | chpasswd
# =====
# BASE packages
# =====
RUN dnf install -y openssl openssl-devel openssh openssh-server wget sudo unzip which tree git firewalld
# =====
#Installieren Sie GitLab CE
# =====
RUN curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
RUN dnf install -y gitlab-ce
docker-compose.yml
version: '3'
services:
centos8:
container_name: "centos8"
build: ./
tty: true
privileged: true
command: /sbin/init
ports:
- "2222:22"
- "9080:9080" #Für GitLab
- "9081:9081" #Für GitLab Mattermost
- '10443:443'
volumes:
#Ausdauer nach der Formel
- './srv/gitlab/config:/etc/gitlab' #Platzieren Sie die GitLab-Definitionsdatei
- './srv/gitlab/logs:/var/log/gitlab' #Ausgabe der GItLab-Protokolldatei
- './srv/gitlab/data:/var/opt/gitlab' #GItLab-Datenspeicherung
Japanische Umgebungseinstellungen
#Lokalisierung ins Japanische
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial && \
dnf -y upgrade && \
dnf -y install glibc-locale-source && \
dnf clean all && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 && \
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
#C LANG für die Installation von Gitlab.UTF-Wechseln Sie zu 8
ENV LANG="C.UTF-8" \
LANGUAGE="ja_JP:ja" \
LC_ALL="ja_JP.UTF-8"
Ich habe darauf hingewiesen (https://qiita.com/polarbear08/items/e5c00869c7566db5f7b8). Wenn Sie LANG nicht auf C.UTF-8 setzen, wird die DB-Migration von "gitlab-ctl-Neukonfiguration" gestoppt. Seien Sie also vorsichtig.
--Installieren Sie GitLab CE
```cmd
RUN curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
RUN dnf install -y gitlab-ce
```
Dies ist das offizielle Verfahren. (Beachten Sie, dass die offizielle Stichprobe gitlab-ee ist)
--Datenpersistenz
```docker-compose.yml
volumes:
#Persistenz nach der Formel
- './srv/gitlab/config:/etc/gitlab' #Platzieren Sie die GitLab-Definitionsdatei
- './srv/gitlab/logs:/var/log/gitlab' #Ausgabe der GItLab-Protokolldatei
- './srv/gitlab/data:/var/opt/gitlab' #GItLab-Datenspeicherung
```
Wenn dies festgelegt ist, bleiben die Daten auch dann erhalten, wenn der Container gelöscht wird.
Platzieren Sie die obige Dockerfile und docker-compose.yml in einem beliebigen Verzeichnis.
Wechseln Sie in das platzierte Verzeichnis und starten Sie den Container
docker-compose up -d
Platzieren Sie gitlab.rb im angegebenen Ordner
srv
└─gitlab
├─config
│ gitlab.rb
│
├─data
└─logs
Diese Datei finden Sie hier (https://github.com/shimi58/CentOS8_GitLab).
Stellen Sie den Port von GitLab ein
external_url 'http://localhost:9080'
Aktivieren Sie GitLab Mattermost
mattermost_external_url 'http://localhost:9081'
mattermost['enable'] = true
Melden Sie sich beim Container an
docker exec -it centos8 bash
Reflektieren Sie die GitLab-Einstellungen
sudo /opt/gitlab/embedded/bin/runsvdir-start &
gitlab-ctl reconfigure
Greifen Sie nach dem Nachdenken auf GitLab zu
http://localhost:9080
--Mattermost kann auch zu diesem Zeitpunkt angezeigt werden
```url
http://localhost:9081
```
―― Danach wird es das Verfahren der wichtigsten SSO-Zusammenarbeit sein
Melden Sie sich nach Abschluss der anfänglichen Kennworteinstellungen an
Gehen Sie zu "Admin-Bereich" -> "Anwendungen" --Wenn es bereits eine Definition für Mattermost gibt, verwenden Sie diese, andernfalls erstellen Sie eine neue (* Wird nicht angezeigt, wenn die Einstellung mattermost in gitlab.rb aktiviert ist)
Geben Sie die oben in gitlab.rb bestätigte "Anwendungs-ID" und "Geheimnis" wieder. Fügen Sie gleichzeitig die erforderlichen Einstellungen hinzu
mattermost['gitlab_enable'] = true #SSO aktiviert
mattermost['gitlab_id'] = "5e7f43cdf588e92c8b0ca589832c64dd5094969c5848667a09e50ffe4834c065" #Application ID
mattermost['gitlab_secret'] = "23791f7219f6782f38c9c1f462c5e715e88216ee13d3513a122dc9c302ba130b" #secret
mattermost['gitlab_auth_endpoint'] = "http://localhost:9080/oauth/authorize" #Geben Sie die URL von GitLab ein
mattermost['gitlab_token_endpoint'] = "http://localhost:9080/oauth/token" #Geben Sie die URL von GitLab ein
mattermost['gitlab_user_api_endpoint'] = "http://localhost:9080/api/v4/user" #Geben Sie die URL von GitLab ein
Reflektieren Sie die GitLab-Einstellungen
gitlab-ctl reconfigure
Wählen Sie unter Mattermost "Mit GitLab anmelden" und melden Sie sich an
Vergewissern Sie sich, dass der Bildschirm zum Bildschirm Mattermost wechselt
Das diesmal erstellte GitLab ist selbst mit COREi7- und 16G-Speicher sehr schwer.
Nach der Neuerstellung des Containers ist eine Neukonfiguration von gitlab-ctl erforderlich, um die Wiederherstellung persistenter Daten widerzuspiegeln.
Recommended Posts