docker-compose 搭建gitlab
前提
安装好docker&docker-compose,如果没有安装好的,参考我另一章博客文章
传送门
docker-compose.yml 文件
version: '3'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.0.2:8800' #若有域名可以写域名
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8800:8800'
- '2224:22'
volumes:
#将相关配置映射到当前目录下的config目录
- './config:/etc/gitlab'
#将日志映射到当前目录下的logs目录
- './logs:/var/log/gitlab'
#将数据映射到当前目录下的data目录
- './data:/var/opt/gitlab'
一键启动
docker-compose up -d
相关修改的配置,已经映射到宿主机,可以直接在宿主机进行修改
设置中文
登录用户后,在用户头像哪里,点击
选择语言--简体中文
配置邮件发送
修改./config/gitlab.rb 文件,默认是全部注释,这里配置邮箱信息即可
可以参考我的参数
external_url 'http://外网ip:端口'
prometheus['enable'] = false
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "发件箱@qq.com"
gitlab_rails['smtp_password'] = "QQ授权码,其他邮箱,就自行修改"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '发件箱@qq.com'
配置好后,重启
测试
进入容器
docker exec -it gitlab(容器名) bash
gitlab-rails console
使用测试,看看是否能收到邮件
Notify.test_email('收件箱地址', '邮件标题', '邮件正文qingyun').deliver_now
报错sh: 1: /usr/sbin/sendmail: not found
是因为服务器本地没有安装sendmail
sudo apt-get install sendmail
进行安装
service sendmail start
启动
重启gitlab
再进入容器,测试发送邮件,可以发送成功
惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。
一代天骄,成吉思汗,只识弯弓射大雕。
俱往矣,数风流人物,还看今朝