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的主要内容,如果未能解决你的问题,请参考以下文章