Je voulais essayer diverses choses en utilisant l'API Mattermost, et quand j'ai essayé de créer rapidement un environnement GitLab, j'en ai été accro de manière inattendue, alors je vais laisser ce que j'ai fait. Ce que je veux faire, c'est créer un environnement GitLab à l'aide de DockerForWindows.
Je l'ai mis sur GitHub. (https://github.com/shimi58/CentOS8_GitLab) Cependant, le paramètre Mattermost change chaque fois que vous le créez, la procédure décrite ci-dessous est donc requise.
Environnement de vérification de fonctionnement | version |
---|---|
Windows10 Home Edition | Version 2004 |
Docker for Windows | 2.4.0.0 |
Je vais le décrire dans le Dockerfile. Le résultat est le suivant.
FROM centos:8
#Localisation en japonais
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 pour l'installation de Gitlab.UTF-Changer en 8
ENV LANG="C.UTF-8" \
LANGUAGE="ja_JP:ja" \
LC_ALL="ja_JP.UTF-8"
#paramètre de mot de passe root
RUN echo "root:root" | chpasswd
# =====
# BASE packages
# =====
RUN dnf install -y openssl openssl-devel openssh openssh-server wget sudo unzip which tree git firewalld
# =====
#Installez 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" #Pour GitLab
- "9081:9081" #Pour GitLab Mattermost
- '10443:443'
volumes:
#Persistance selon la formule
- './srv/gitlab/config:/etc/gitlab' #Placer le fichier de définition GitLab
- './srv/gitlab/logs:/var/log/gitlab' #Sortie du fichier journal GItLab
- './srv/gitlab/data:/var/opt/gitlab' #Stockage de données GItLab
Paramètres d'environnement japonais
#Localisation en japonais
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 pour l'installation de Gitlab.UTF-Changer en 8
ENV LANG="C.UTF-8" \
LANGUAGE="ja_JP:ja" \
LC_ALL="ja_JP.UTF-8"
J'y ai fait référence (https://qiita.com/polarbear08/items/e5c00869c7566db5f7b8). Si vous ne définissez pas LANG sur C.UTF-8, il s'arrêtera autour de la migration de base de données de "gitlab-ctl reconfigure", donc soyez prudent.
--Installez 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
```
C'est la procédure officielle. (Notez que l'exemple officiel est gitlab-ee)
Persistance des données
volumes:
#Persistance selon la formule
- './srv/gitlab/config:/etc/gitlab' #Placer le fichier de définition GitLab
- './srv/gitlab/logs:/var/log/gitlab' #Sortie du fichier journal GItLab
- './srv/gitlab/data:/var/opt/gitlab' #Stockage de données GItLab
Si cela est défini, les données seront conservées même si le conteneur est supprimé.
Placez le Dockerfile et docker-compose.yml ci-dessus dans n'importe quel répertoire.
Accédez au répertoire placé et démarrez le conteneur
docker-compose up -d
Placez gitlab.rb dans le dossier spécifié
srv
└─gitlab
├─config
│ gitlab.rb
│
├─data
└─logs
Ce fichier peut être trouvé ici (https://github.com/shimi58/CentOS8_GitLab).
Définissez le port de GitLab
external_url 'http://localhost:9080'
Activez GitLab Mattermost
mattermost_external_url 'http://localhost:9081'
mattermost['enable'] = true
Connectez-vous au conteneur
docker exec -it centos8 bash
Refléter les paramètres GitLab
sudo /opt/gitlab/embedded/bin/runsvdir-start &
gitlab-ctl reconfigure
Après réflexion, accédez à GitLab
http://localhost:9080
--La plus grande quantité peut également être affichée à ce moment
```url
http://localhost:9081
```
――Après cela, ce sera la procédure de coopération SSO de Mattermost
Une fois les paramètres de mot de passe initiaux définis, connectez
Vérifiez les paramètres Mattermost --Déplacez-vous dans "Zone d'administration" -> "Applications" --S'il existe déjà une définition pour Mattermost, utilisez-la, sinon créez-en une nouvelle (* Elle ne sera pas affichée si le paramètre le plus important dans gitlab.rb est activé)
Reflétez les "ID d'application" et "Secret" confirmés ci-dessus dans gitlab.rb. En même temps, ajoutez les paramètres nécessaires
mattermost['gitlab_enable'] = true #SSO activé
mattermost['gitlab_id'] = "5e7f43cdf588e92c8b0ca589832c64dd5094969c5848667a09e50ffe4834c065" #Application ID
mattermost['gitlab_secret'] = "23791f7219f6782f38c9c1f462c5e715e88216ee13d3513a122dc9c302ba130b" #secret
mattermost['gitlab_auth_endpoint'] = "http://localhost:9080/oauth/authorize" #Entrez l'URL de GitLab
mattermost['gitlab_token_endpoint'] = "http://localhost:9080/oauth/token" #Entrez l'URL de GitLab
mattermost['gitlab_user_api_endpoint'] = "http://localhost:9080/api/v4/user" #Entrez l'URL de GitLab
Refléter les paramètres GitLab
gitlab-ctl reconfigure
Dans Mattermost, sélectionnez "Se connecter avec GitLab" et connectez-vous
Confirmez que l'écran passe à l'écran le plus important
Le GitLab construit cette fois-ci est lourd même avec la mémoire COREi7 et 16G.
Après avoir reconstruit le conteneur, la reconfiguration gitlab-ctl est requise pour refléter la restauration des données persistantes.
Recommended Posts