## 值用来记录,不喜勿喷
先创建文件夹gitlab,用来存放gitlab 相关的数据、配置、以及日志信息
我是在根目录创建的
cd /
mkdir gitlab
# 并创建相关的子目录
mkdir config
mkdir log
mkdir data
# 然后创建在gitlab文件夹下创建compose 以及dcoker 的执行文件 docker-compose.yml
# 编写执行文件内容
vim docker-compose.yml
# 内容为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | version: '3' services: gitlab: restart: always image: twang2218/gitlab-ce-zh:latest container_name: gitlab hostname: '00.00.00.00' # 也可以使用IP地址 privileged: true environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | gitlab_rails[ 'time_zone' ] = 'Asia/Shanghai' external_url 'http://00.00.00.00:7002' #http地址 gitlab_rails[ 'gitlab_shell_ssh_port' ] = 7003 #ssh地址端口 gitlab_rails[ 'smtp_enable' ] = true #启用SMTP,邮件发送服务器必开 gitlab_rails[ 'smtp_address' ] = "smtp.163.com" # 【163邮件服务器地址】 gitlab_rails[ 'smtp_port' ] = 465 # 启用的端口 ,有人写的是25,但是阿里的会禁用,会报错,所以建议是465,还需要去服务器开启安全策略配置端口 gitlab_rails[ 'smtp_user_name' ] = 'xxxxxx@163.com' gitlab_rails[ 'smtp_password' ] = "xxxxxxxxxx" # 163授权密码 不是163登录密码,建议百度去查 gitlab_rails[ 'smtp_domain' ] = "163.com" gitlab_rails[ 'smtp_authentication' ] = "login" gitlab_rails[ 'smtp_enable_starttls_auto' ] = true gitlab_rails[ 'smtp_tls' ] = true gitlab_rails[ 'smtp_openssl_verify_mode' ] = 'peer' gitlab_rails[ 'gitlab_email_from' ] = 'xxxxxx@163.com' # 发件人邮箱 还有个配置是抄送人邮箱地址, user[ 'git_user_email' ] = "xxxxxx@163.com" # 校验什么什么的邮箱 必须和上一个一样 ports: - '7001:443' - '7002:7002' # 注意这里不是80 与上面external_url自定义端口保持一致 - '7003:22' volumes: # 宿主机地址若没有,会自动创建目录 - /gitlab/config:/etc/gitlab - /gitlab/log:/ var /log/gitlab - /gitlab/data:/ var /opt/gitlab |
# 然后给创建的文件夹分配权限
chmod 777 /gitlab
chmod 777 /gitlab/*
# 然后在compose 目录下执行
docker-compose up -d
# 不报错的情况下可以执行docker logs -f gitlab --tail=100 查看最近100行的日志
还可以 docker exec -it gitlab bash 进入到创建的gitlab 容器内
去执行 gitlab-rails console
Notify.test_email('收件人邮箱地址', '邮箱主题', '邮箱内容').deliver_now
去测试发送邮箱
接下来就可以访问 http://00.00.00.00:7002/ 去访问你的gitlab
首次进入是需要给root 用户设置密码的.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了