1. Gitlab 部署
gitlab 部署根据不同的场景和需求有多种不同的方案,可以根据自己的实际情况选择合适的方案。
- 单点部署,定时备份
- 主备部署,rsync同步
- 主备部署,drdb同步
- 负载均衡,nfs共享存储,minio
- 负载均衡,nfs共享存储,ceph
docker run --name='gitlab' -d --restart always -p 10022:22 -p 10080:80 --volume /data/gitlab/config:/etc/gitlab:Z --privileged --volume /data/gitlab/data:/var/opt/gitlab:Z harbor.cloud.netease.com/qztest-k8s/gitlab-ce-zh:20181203
使用最新版本部署:gitlab/gitlab-ce
配置文件内容
# cat config/gitlab.rb
external_url 'http://10.10.10.10:18080'
nginx['listen_port'] = 18080
gitlab_rails['gitlab_ssh_host'] = '10.10.10.10'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "163.com"
gitlab_rails['smtp_port'] = 993
gitlab_rails['smtp_user_name'] = "test@163.com"
gitlab_rails['smtp_password'] = "testpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'test@163.com'
2. FAQ
2.1. cannot start a stopped process: unknown
docker start 0b81f31e473a
Error response from daemon: cannot start a stopped process: unknown
Error: failed to start containers: 0b81f31e473a
解决方法
yum install -y libseccomp-devel
安装Docker环境
yum install docker -y
下载Gitlab Docker镜像
docker pull docker.io/twang2218/gitlab-ce-zh:latest
运行Gitlab容器
sudo docker run --name='gitlab' -d \
-p 10022:22 -p 10080:80 \
--restart always \
--volume /data/l0430/gitdata/config:/etc/gitlab:Z \
--volume /data/l0430/gitdata/logs:/var/log/gitlab:Z \
--volume /data/l0430/gitdata/data:/var/opt/gitlab:Z \
docker.io/twang2218/gitlab-ce-zh
docker run --name='qzdemo-gitlab' -d -p 10022:22 -p 10080:80 --restart always --net host --volume /data/qzdemo-gitlab/config:/etc/gitlab:Z --volume /data/qzdemo-gitlab/logs:/var/log/gitlab:Z --volume /data/qzdemo-gitlab/data:/var/opt/gitlab:Z harbor.cloud.netease.com/qztest-k8s/gitlab-ce-zh:20181203
修改Gitlab容器配置
external_url 'http://10.96.50.40:10080'
nginx['listen_port'] = 80
gitlab_rails['gitlab_ssh_host'] = '10.96.50.40'
gitlab_rails['gitlab_shell_ssh_port'] = 10022
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "user01@example.com"
gitlab_rails['smtp_password'] = "user的密码"
gitlab_rails['smtp_domain'] = "smtp.example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'user01@example.com'
重载Gitlab配置
docker exec -t gitlab gitlab-ctl reconfigure
gitlab-rails console
3. 进入控制台,然后发送邮件
Notify.test_email('717350389@qq.cn', '邮件标题', '邮件正文').deliver_now
修改默认root密码 使用浏览器打开external_url配置的地址,第一次默认会提示修改root用户的登录密码 开启注册邮件确认
备注
sudo docker exec -it gitlab update-permissions
docker exec -t gitlab gitlab-ctl restart
docker exec -t gitlab gitlab-ctl reconfigure
gitlab_rails['time_zone'] = 'Asia/Shanghai'