Docker-Compose 部署Gitlab

Posted 545615947

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker-Compose 部署Gitlab相关的知识,希望对你有一定的参考价值。

1.简介Gitlab

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具; 本次安装我们使用Compo se在Linux系统上部署Gitlab中文社区版本。

2.前置安装

docker及compose安装,参照:
Docker 安装 :https://blog.51cto.com/peak715/5320100
Docker-Compose 安装:https://blog.51cto.com/peak715/5320101

3.docker-Compose.yml 编排文件编写

version: "3.9"
services:
    gitlab:
        restart: always
        image: twang2218/gitlab-ce-zh:latest
        container_name: gitlab
        hostname: xxxx.com.cn
        environment: 
            TZ: Asia/Shanghai
            GITLAB_OMNIBUS_CONFIG: |
                external_url http://xxxx.com.cn/gitlab
                gitlab_rails[gitlab_shell_ssh_port] = 8022
                nginx[listen_port] = 80
                nginx[client_max_body_size] = 2048m
                gitlab_rails[smtp_enable] = true
                gitlab_rails[smtp_address] = "smtp.mail.qq.com"
                gitlab_rails[smtp_port] = 465
                gitlab_rails[smtp_user_name] = "test@qq.com"
                gitlab_rails[smtp_password] = "password"
                gitlab_rails[smtp_authentication] = "login"
                gitlab_rails[smtp_enable_starttls_auto] = true
                gitlab_rails[smtp_tls] = true
                gitlab_rails[gitlab_email_from] = test@qq.com
                gitlab_rails[smtp_domain] = "smtp.mail.qq.com"
                user["git_user_email"] = "test@qq.com"
                gitlab_rails[openssl_verify_mode] = false
                gitlab_rails[smtp_openssl_verify_mode] = none
        ports:
            - 8088:80
            - 8022:22
        volumes:
            - /data/gitlab/config:/etc/gitlab
            - /data/gitlab/logs:/var/log/gitlab
            - /data/gitlab/data:/var/opt/gitlab
        shm_size: 256m

4.配置说明

Nginx配置

# 配置Gitlab内置Nginx监听端口
nginx[listen_port] = 80
# 配置Gitlab内置Nginx接收最大请求体大小(当一次性提交大批量文件进需要配置)
nginx[client_max_body_size] = 2048m
# 双层Nginx配置
  对于公司而言,一般都有外层Nginx,用于对公司域名请求的监听及配置,当我们需要将gitlab映射到域名下,并需要通过项目名称访问时(如:http://www.abc.com/gitlab),需要特定配置:
# 设置gitlab内部请求地址,添加/gitlab; 添加后通过域名或IP访问均需要加上/gitlab
external_url http://xxxx.com.cn/gitlab

邮件服务配置

gitlab_rails[smtp_enable] = true
gitlab_rails[smtp_address] = "smtp.mail.qq.com"
gitlab_rails[smtp_port] = 465
gitlab_rails[smtp_user_name] = "test@qq.com"
gitlab_rails[smtp_password] = "password"
gitlab_rails[smtp_authentication] = "login"
gitlab_rails[smtp_enable_starttls_auto] = true
gitlab_rails[smtp_tls] = true
gitlab_rails[gitlab_email_from] = test@qq.com
gitlab_rails[smtp_domain] = "smtp.mail.qq.com"
user["git_user_email"] = "test@qq.com" 

邮件服务配置测试

# 进入容器
docker exec -it gitlab bash
# 进入gitlab控制台,发送测试指令
Notify.test_email(545615947@qq.com, Gitlab测试邮件, 这是一封测试邮件,用于检测Gitlab邮件服务配置情况。).deliver_now
# 当出现SSL错误相关提示时需要配置
gitlab_rails[openssl_verify_mode] = false
gitlab_rails[smtp_openssl_verify_mode] = none

注意:修改配置后需要删除容器并重启

以上是关于Docker-Compose 部署Gitlab的主要内容,如果未能解决你的问题,请参考以下文章

Docker-Compose 部署Gitlab

docker-compose部署gitlab

使用docker-compose部署极狐gitlab

使用docker-compose部署极狐gitlab

使用docker-compose部署极狐gitlab

Docker-compose一键部署gitlab中文版