本文使用的GitLab Docker镜像为Gitlab 11.1.4的中文汉化版
什么是Git
Git是一种分布式的版本管理系统。作用就是对文件进行版本管理,对一个或若干个文件的内容改动情况按照特定的版本号进行保存,以便将来浏览者快速清晰了解文件的改动信息。
什么是Gitlab
Gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
获取docker镜像
docker pull twang2218/gitlab-ce-zh:latest
创建docker容器
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 \
--name gitlab \
--restart unless-stopped \
--volume /opt/gitlab/config:/etc/gitlab \
--volume /opt/gitlab/gitlab/logs:/var/log/gitlab \
--volume /opt/gitlab/gitlab/data:/var/opt/gitlab \
twang2218/gitlab-ce-zh:latest
创建GitLab项目
创建用户 (用户名:user,邮箱:user@example.com)
创建项目 (项目名称:project)
设置全局变量:
git config --global user.name "user"
git config --global user.email "user@example.com"
进入项目代码目录,执行如下代码
git init
git remote add origin http://www.example.com/user/test.git
git add .
git commit -m "Initial commit"
git push -u origin master
注:其他推送方法,gitlab上都有操作方法
关于gitlab邮件服务器设置
vim /etc/gitlab/gitlab.rb
找到Email Settings,配置如下
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.cn'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
gitlab_rails['gitlab_email_reply_to'] = 'gitlab@example.cn'
找到GitLab email server settings,配置如下
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp server"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_domain'] = "smtp server"
gitlab_rails['smtp_authentication'] = false
gitlab_rails['smtp_enable_starttls_auto'] = true
更多smtp设置:https://docs.gitlab.com/omnibus/settings/smtp.html
保存,执行命令
gitlab-ctl reconfigure
测试
gitlab-rails console
$ Notify.test_email('邮箱地址', '邮件标题', '邮件正文').deliver_now