![7c57e42ae16f70f4d308f04628298246.png](https://i-blog.csdnimg.cn/blog_migrate/8e6f9aa424c0be0931e163cc7629b377.jpeg)
本文操作环境 Mac,使用 docker 安装 gitlab-ce(社区版)
1. 安装 docker
下载 docker,地址:https://docs.docker.com/docker-for-mac/install/
![097f3a7bf4a774ee640e543913544b29.png](https://i-blog.csdnimg.cn/blog_migrate/98ab35825143cdd29b38b0221b95a481.jpeg)
首先注册 docker 账号
![ca69c7605a1d452aaff80db30121ed62.png](https://i-blog.csdnimg.cn/blog_migrate/b3c5e04253b582ea6fbdc6ddf01141a3.jpeg)
登陆后,即可下载 docker
建议使用迅雷等工具下载,地址:https://download.docker.com/mac/stable/Docker.dmg
下载安装完毕,登录账号
2. 下载镜像
使用命令行,拉取镜像
docker pull gitlab/gitlab-ce
会因为超时而报错
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout
使用国内镜像
Docker->Preferences->Daemon,添加地址, Apply & Restart
![5cec2152dc96bb052f4d139bafd1e6e2.png](https://i-blog.csdnimg.cn/blog_migrate/6387488400088d8bb43ea7f5d5a0f729.jpeg)
等待片刻,docker 重新 running 的时候
![b8d4a2ba335228dbf2245a3bad72935a.png](https://i-blog.csdnimg.cn/blog_migrate/97c9da331cf01add019e6fb8a776da99.jpeg)
再次执行命令
docker pull gitlab/gitlab-ce
过程:
Using default tag: latest
latest: Pulling from gitlab/gitlab-ce
e80174c8b43b: Pull complete
d1072db285cc: Pull complete
858453671e67: Pull complete
3d07b1124f98: Pull complete
1abbbf4783f5: Pull complete
38a43d00563b: Pull complete
8bbea5a60f40: Pull complete
176bd574f7c7: Pull complete
a8646c9c80ee: Pull complete
089fe821c806: Pull complete
Digest: sha256:88f1bcc39aa9917ac4b19022af441b64265d50e1f0c0fa2616d29a2cb82fb41a
Status: Downloaded newer image for gitlab/gitlab-ce:latest
docker.io/gitlab/gitlab-ce:latest
仅仅使用了 7 分钟,就拉取完毕了
3. 运行 gitlab 实例
sudo docker run -d
--hostname xxxx.xxxx.xx
--name gitlab
--restart always
--publish 30001:22 --publish 30000:80 --publish 30002:443
--volume $HOME/gitlab/data:/var/opt/gitlab
--volume $HOME/gitlab/logs:/var/log/gitlab
--volume $HOME/gitlab/config:/etc/gitlab
gitlab/gitlab-ce
其中 volume 选项将 gitlab 的目录挂载为用户当地目录,以免容器在停止或被删除的时候丢失数据。publish 选项将宿主机器的 30000、30001 和 30002 映射为容器的 80(http)、22(ssh)和 443(https)端口。
执行完后,输入用户密码,在 home 目录会创建 gitlab 目录
可以下载一个 docker 的可视化工具 Kiteatic,如下图:
Kiteatic 下载地址[1]
![bfcea875a4b6fb6a3790eaa3c68b2c8f.png](https://i-blog.csdnimg.cn/blog_migrate/3cb6b12246c07abee4fdba3cef71ddba.jpeg)
4. 配置 gitlab 实例
- 配置访问地址
# 将external_url修改为GitLab服务器的访问地址:
external_url 'http://localhost:30000'
由于定义的 url 中有端口号,需要将 nginx 监听的端口号改回 80,否则 nginx 将监听容器的 30000 端口,造成 GitLab 无法使用:
nginx['listen_port'] = 80
- 配置 ssh 协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = "localhost"
gitlab_rails['gitlab_shell_ssh_port'] =30001
- 配置邮箱
gitlab_rails['gitlab_email_from'] = "xxxx@163.com”
gitlab_rails['gitlab_email_reply_to'] = ‘xxxx@163.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@163.com"
# 此处密码应该为客户端授权码,而不是登录密码
gitlab_rails['smtp_password'] = "xxxxpassword"
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"
注意:
- 以上设置的端口号 465 是 SSL 协议端口号,非 SSL 协议端口号是 25
- 此处填写的密码应该是客户端授权码,而不是邮箱的登录密码,如果设置错误,会导致发送邮件失败
用命令 docker restart gitlab 重启 GitLab,或者在容器中执行命令 gitlab-ctl reconfigure 重新配置 gitlab。
查看日志
# 实时查看docker容器日志
$ sudo docker logs -f -t --tail 行数 容器名
5. 测试
由于之前已经配置了端口映射
![f4eb2958106b90f3b28869fd80ecbcc3.png](https://i-blog.csdnimg.cn/blog_migrate/4c29d0055ace9970d4cd0a38a83facb5.png)
打开浏览器输入http://localhost:30000/,就可以看到登录界面
![5d27b59d4d53c83f75b96e59b6e2996c.png](https://i-blog.csdnimg.cn/blog_migrate/b5592468c16b52ed80343d2078079b95.jpeg)
密码至少要 8 位
![c62f35fc56ceb8ec334da67ecb288efc.png](https://i-blog.csdnimg.cn/blog_migrate/bbf40f6a1874b326a183cc30d14dcffa.jpeg)
设置完密码后,进入界面是这样的
![5acac3cad6c87978cce19095deb77771.png](https://i-blog.csdnimg.cn/blog_migrate/966cdbf9d1244f77683c44daf2ec1bba.jpeg)
至此,安装搭建 git 服务器基本完成。
更多相关文档,请查看https://docs.gitlab.com/omnibus/README.html
剩余的操作部分,相信你可以完成的
或者,下次再接着说
参考资料
[1] Kiteatic下载地址: https://download.docker.com/kitematic/Kitematic-Mac.zip
本文首发于公众号:wanpython
地址:
轻松搭建 GitLab 服务器mp.weixin.qq.com![1685e8fe120572d082947a2214a88223.png](https://i-blog.csdnimg.cn/blog_migrate/3477aeeabb4864fa2228e6e04061eb0d.jpeg)
如果觉得还不错,请关注我