1. Présentation de GitLab
GitLab est divisé en Community Edition (
Community Edition
, en abrégé CE) et Enterprise Edition (Enterprise Edition
, en abrégé
EE). L'édition communautaire est gratuite, tandis que l'édition entreprise comprend certains services payants.En règle générale, l'édition communautaire est suffisante pour les développeurs individuels.
GitLab est un outil de gestion de code basé sur l'entrepôt git, qui peut aider notre équipe à effectuer le contrôle de version et le développement collaboratif. Gitlab fournit également une plate-forme complète d'intégration continue/livraison continue, qui peut automatiser le processus de construction de code, de test, de publication, etc., et est une plate-forme open source. Les entreprises peuvent également la personnaliser en fonction de leurs besoins pour rencontrer différentes équipes et s'adapter. à différents besoins et processus.
site officiel de gitlab : https://gitlab.cn/install/
documentation officielle de gitlab : https://docs.gitlab.com/ee/install/docker.html
documentation officielle de gitlab : https://docs.gitlab.cn/runner /install/docker.html
2. Installez GitLab à l'aide de Docker Desktop
1. Installez Docker Desktop
Veuillez consulter ici : Tutoriel d'installation de Docker Desktop
Ensuite, si vous souhaitez d'abord installer un système Linux, veuillez consulter ici : Installer le système Centos à l'aide de Docker Desktop
2. Utilisez Docker Desktop pour installer l'image GitLab
2.1. Afficher le miroir GitLab
Image Docker GitLab CE (édition communautaire)
Image Docker GitLab EE (édition entreprise)
# 查询镜像
docker search gitlab
Utilisez Docker Desktop pour afficher l'image GitLab
2.2. Téléchargez l'image GitLab
# 拉取最新版本的镜像命令,不加 tag 则默认为最新版本 latest
docker pull gitlab/gitlab-ce
# 拉取最新版本的镜像命令
docker pull beginor/gitlab-ce:latest
# 拉取指定版本的镜像命令
docker pull gitlab/gitlab-ce:15.6.3-ce.0
Téléchargez l'image GitLab à l'aide de Docker Desktop :
Téléchargez le miroir GitLab sous Linux :
2.3. Démarrer l'image GitLab du service
docker run --name gitlab --restart always -p 9980:9980 -p 222:22 -v /usr/local/docker/gitlab/config:/etc/gitlab -v /usr/local/docker/gitlab/logs:/var/log/gitlab -v /usr/local/docker/gitlab/data:/var/opt/gitlab -d gitlab/gitlab-ce
Voici une explication de la situation de cette chaîne de codes. Si vous la copiez, copiez la commande ci-dessus
docker run
-d #Opération en arrière-plan, nom complet : detach
-p 8443:443 #Mappez le port interne du conteneur vers l'extérieur
-p 8090:80 #Mappez le port 80 du conteneur sur le port 8090 de l'hôte, qui est le port pour accéder à gitlab
-p 8022:22 #Mappez le port 22 du conteneur sur le port 8022 de l'hôte, qui est le port d'accès à ssh
–restart always #Container self-start
–name gitlab #Définissez le nom du conteneur sur gitlab
-v /usr/local/gitlab/etc:/ etc/gitlab #Montez le répertoire conteneur /etc/gitlab sur le répertoire /usr/local/gitlab/etc de l'hôte, si ce répertoire n'existe pas dans l'hôte, il sera automatiquement créé -v /usr/local/gitlab/log
: /var/log/gitlab #Comme ci-dessus
-v /usr/local/gitlab/data:/var/opt/gitlab #Comme ci-dessus
–privileged=true #Laisser le conteneur obtenir l'autorisation root de l'hôte twang2218/gitlab-ce-zh #Le nom de l'image, vous pouvez également écrire l'ID de l'image ici
Démarrez l'image GitLab à l'aide de Docker Desktop :
Démarrez le miroir GitLab avec Linux :
2.4. Vérifiez si Gitlab a démarré
# 添加-a 参数,把启动的,没有启动的都列出来
docker ps
2.5. Afficher l'état d'exécution de Gitlab
# 查看Gitlab的运行状态
docker logs -f gitlab
En attendant l'exécution, le temps de démarrage peut être relativement long, et finalement arrêter le défilement, et constater que le système s'exécute sans signaler d'erreur, et que le système fonctionne normalement. Utilisez la combinaison de touches ctrl + c pour quitter.
3. Configurer Gitlab
3.1. Modifier la configuration
Veuillez modifier les configurations suivantes dans le conteneur, et non sur les fichiers montés sur l'hôte. Sinon, la configuration peut ne pas être mise à jour dans le conteneur, ou ne peut pas être mise à jour dans le conteneur immédiatement, ce qui entraîne un démarrage réussi de gitlab, mais inaccessible
# 进入容器
docker exec -it gitlab bash
#修改gitlab.rb
vi /etc/gitlab/gitlab.rb
# 编辑
insert
# 搜索
/搜索内容(如:/external_url )
# 下一个搜索内容
N
#加入如下
#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.249.132:8899'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.249.132'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
# 操作
Esc
# 保存退出
:wq
# 直接退出
:q!
Ou assemblez simplement la configuration :
# 重新编译gitlab配置文件
gitlab-ctl reconfigure
# 重启gitlab服务
gitlab-ctl restart
#退出容器
exit
# 重启gitlab容器
docker restart gitlab
3.2. Visitez la page gitlab 502
Visitez http:ip:8929 dans votre navigateur et remplacez ip par l'adresse IP de votre serveur.
Visitez la solution gitlab page 502 :
La commande d'édition est la même que ci-dessus, donc je ne l'écrirai pas en détail ici
①修改/etc/gitlab/gitlab.rb(2个参数对应的端口一致)
unicorn['port'] = 8888
gitlab_workhorse['auth_backend'] = "http://localhost:8888"
②重新执行配置
gitlab-ctl reconfigure
gitlab-ctl restart
3.3. Accès à gitlab
# 进入并查看一下初始密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password
Ensuite, visitez http:ip:8929 dans le navigateur (remplacez ip par l'adresse IP de votre serveur), cliquez sur Connexion et constatez que vous pouvez vous connecter normalement.
3.4. Modifier le mot de passe
Trouvez le bouton de mot de passe en fonction de l'image et modifiez le mot de passe.
Après avoir entré l'ancien mot de passe, puis le nouveau mot de passe deux fois, cliquez sur Enregistrer le mot de passe. Et c'est tout!
3.5. Fermer la fonction d'enregistrement
Je n'utilise pas la fonction d'enregistrement ici, j'ai donc désactivé la fonction d'enregistrement.
Enfin, cliquez sur enregistrer les modifications pour enregistrer l'application.
4. Opérations sur la page Gitlab
Pour plus de détails, veuillez vérifier ici : Gitlab add group, create user and project, permission management
5. Ports ouverts du pare-feu
Si l'accès externe n'est pas disponible, vous pouvez vérifier si le pare-feu n'est pas ouvert
#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#查看开放端口
firewall-cmd --list-ports
#设置80800端口开放
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#再次查看是否开放
firewall-cmd --list-ports