Docker方式部署Gitlab
- 【docker】开启gitlab + nginx + https之旅 - 中间转换成.crt的部分直接改用下一篇的.pem配置即可
- 阿里云 nginx配置ssl证书实现https访问
- nginx配置http自动跳转https方案
Gitlab作为集成的DevOps神器,在代码管理、代码部署等方面是很好用的。
1、下载镜像
docker pull gitlab/gitlab-ee:latest
说明:如果没有什么要求的话可以用gitlab/gitlab-ce:latest,社区版平常使用已经够了;企业版需要购买证书才能用,没有证书的情况下与社区版没有什么区别。
2、运行gitlab实例
mkdir /data/gitlab
docker run -d --hostname gitlab --publish 8443:443 --publish 8080:80 --publish 2222:22 --name gitlab --restart always --volume /data/gitlab/config:/etc/gitlab --volume /data/gitlab/logs:/var/log/gitlab --volume /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ee:latest
3、配置Gitlab实例
编辑gitlab配置
docker exec -t -i gitlab vim /etc/gitlab/gitlab.rb
3.1 配置邮箱
修改以下配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "it@xxx.com"
gitlab_rails['smtp_password'] = "123456"
gitlab_rails['smtp_domain'] = "exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = truegitlab_rails['smtp_openssl_verify_mode'] = 'none'
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'it@xxx.com'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
gitlab_rails['gitlab_email_reply_to'] = 'it@xxx.com'
gitlab_rails['gitlab_email_subject_suffix'] = ''
3.2 配置访问域名
修改如下配置,注意不带端口号
external_url "http://gitlab.xxx.com"
4、重启Gitlab服务
可以通过重启Gitlab Docker容器来完成
docker restart gitlab
也可以通过进入容器后运行一下命令重新加载配置
gitlab-ctl reconfigure
5、Nginx端口映射
如果希望服务器上加子域名映射到gitlab服务的8080端口;可以增加Nginx配置来完成
6、使用网页访问http://gitlab.xxx.com
第一次访问会要求设置管理员密码,修改后回到登录界面,管理员用户名为root,密码记刚才设置的密码。
7、如发现邮件发出来,可以使用以下命令进入Docker容器
docker exec -it gitlab /bin/bash
使用以下命令进入Gitlab命令行
gitlab-rails console
在Gitlab命令行中使用以下命令发送测试邮件
Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
8、Nginx 配置
结合以下3篇,可以把Gitlab配置成https访问,同时http访问时做自动跳转。
https://blog.csdn.net/ken1583096683/article/details/83117481
https://www.cnblogs.com/onetwo/p/10369644.html
好了,可以开始Gitlab之旅了。
非技术的路过。
[回复]