概述
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
本次搭建是在云免费服务器上搭建的完成。
环境说明
Linux: 7.9.2009最小系统安装
docker: 20.10.7
gitlab: 11.1.4-ce.0
安装方式
安装方式基于手动安装和排版文件安装
手动安装
1、拉取镜像
#docker pull twang2218/gitlab-ce-zh
2、配置镜像
创建gitlab的配置、日志、数据的目录
# mkdir -p /home/stone/gitlab/etc # 配置文件
# mkdir -p /home/stone/gitlab/log # 日志文件
# mkdir -p /home/stone/gitlab/data # 数据文件
3、启动容器
docker run -d \
--hostname www.201509.xyz \
-p 8090:80 \
-p 8443:443 \
-p 8422:22 \
--name gitlab \
--privileged=true \
--restart always \
-v /home/stone/gitlab/etc:/etc/gitlab \
-v /home/stone/gitlab/log:/var/log/gitlab \
-v /home/stone/gitlab/data:/var/opt/gitlab \
twang2218/gitlab-ce-zh:latest;
4、调整配置
4.1、gitlab.rb
修改/home/stone/gitlab/etc/gitlab.rb文件中把external_url信息改为本机的IP地址
vim /home/stone/gitlab/etc/gitlab.rb
放开 external_url 注释,并修改IP地址
external_url 'http://103.xx.yy.zz'
IP地址
4.2、gitlab.yml
修改 /home/gitlab/data/gitlab-rails/etc/gitlab.yml
vi /home/stone/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字 ## Web server settings ,将 host 的值改成映射的外部主机 ip 地址和端口,这里会显示在 gitlab 克隆地址。
修改完毕,重启gitlab
#docker restart gitlab
防火墙开启8090端口映射
#firewall-cmd --zone=public --add-port=8090/tcp --permanent
#firewall-cmd --reload
重启完毕后,浏览器访问
浏览器中输入http://IP:port
排版文件安装
1、编写排版文件
docker-compose.yml
version: '2'
services:
gitlab:
# 选择中文汉化版
image: 'twang2218/gitlab-ce-zh:11.1.4'
# 容器名称
container_name: "gitlab"
# 容器崩了后总是自动去重启容器
restart: unless-stopped
# 权限开关
privileged: true
# 主机名称
hostname: 'example.gitlab.com'
# 环境说明
environment:
# 时区
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://103.45.186.79'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.126.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxyyy@126.com" # 添加自己的邮箱
gitlab_rails['smtp_password'] = "*****" # 密码
gitlab_rails['smtp_domain'] = "126.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'aeropeak@126.com'
gitlab_rails['gitlab_shell_ssh_port'] = 22
# 端口暴露
ports:
- '8080:80'
- '8443:443'
- '8422:22'
# 挂载卷
volumes:
- /home/stone/gitlab/etc:/etc/gitlab
- /home/stone/gitlab/data:/var/opt/gitlab
- /home/stone/gitlab/log:/var/log/gitlab
2、运行编排文件
进入到docker-compose.yml文件所在目录执行如下命令
#docker-compose up -d
验证
重启完毕后,浏览器访问
浏览器中输入http://IP:port
默认帐户的用户名是root,第一次访问时,将被重定向到密码重置屏幕,登录后,您可以更改用户名。
首次登陆设置一个管理员密码即可,以上为gitlab 基于centos7系统下docker环境中的搭建过程。