手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
技术 ,

图文讲解Docker中安装GitLab并配置邮箱功能、使用外部Nginx配SSL、一些设置、新建项目、配SSH密钥等

本文图文讲解Docker中安装GitLab并配置邮箱功能、使用域名访问、一些设置、新建项目、使用外部Nginx配SSH密钥等,前面已经讲解在三大系统安装docker了,这里以读者具备一定的docker基础来讲解gitlab安装内容。

安装GitLab:

搜索(docker search gitlab)并下载gitlab(docker pull gitlab/gitlab-ce):

然后运行镜像,启动比较慢要两分钟左右:

到挂载的/opt/docker/gitlab/config目录修改gitlab.rb配置文件并重启gitlab(这gitlab有时候用docker restart gitlab会莫名其妙启动不来,这里先关后启动):

其中gitlab.rb配置文件加入外部访问url(这里直接在最上面加入external_url ‘http://172.18.0.2:9081’):

两分钟左右启动完发现访问不了:

这是由于我用腾讯云没加进站规则,把9081端口放开后就可以访问了,刚安装好会要求设置密码,默认管理员账号为root:

设置完密码用root登录:

进入首页这样就简单安装完了:

配置邮箱功能:

接下来设置邮箱功能,这里以QQ邮箱为例,也可以用其他邮箱,要花一毛钱发短信申请授权码,注意是授权码不是邮箱登录密码

然后再去修改gitlab.rb配置文件,这里顺便把external_url改成外网IP不然等下邮箱打不开确认邮件链接,再次提醒smtp_password是邮箱授权码不是登录密码

然后重启gitlab,然后到浏览器点右边头像再点Settings,然后点左边Emails菜单添加邮箱:

输入邮箱后点“Add email address”会发一份邮件过去,然后打开邮件里的链接后就添加好邮箱了,邮箱功能也配好了:

配置域名访问:

这里我再进一步拓展,配域名访问,要先注册购买个域名,并做解析这里以腾讯云为例:

因为服务器上还有其他服务,这里用nginx代理,添加个gitlab.xubingtao.cn.conf配置文件内容如下:

接着还是修改gitlab.rb配置文件,修改external_url(到这里可以把云服务的9081端口进站规则关掉了)并加入监听端口(nginx[‘listen_port’] = 9081):

重启后就可以用域名登录进入首页了:

配置SSL:

接着继续拓展,使用外部Nginx配SSL,首先要申请SSL证书,这里以腾讯云申请免费证书为例,填写提交资料后快的半个钟内就会批下来:

然后还是修改gitlab.rb配置文件,这一步耗我很多时间去研究,网上一堆资料各种说法,一开始我是配成外部nginx加ssl、gitlab内部nginx也加ssl这样访问很慢,最后摸索出只使用外部nginx配ssl:

使用外部nginx配SSL

这里特别提醒一下,由于我服务器上有多个服务所以使用外部nginx做代理,如果你有专门的独立服务器和域名来配gitlab那么直接在gitlab.rb配置文件中加nginx[‘enable’] = true、external_url ‘https://gitlab.xubingtao.cn’、nginx[‘redirect_http_to_https’] = true、ssl_certificate /etc/nginx/cert/gitlab/Nginx/gitlab.crt、ssl_certificate_key /etc/nginx/cert/gitlab/Nginx/gitlab.key即可,不用再另外配nginx!

把刚刚申请的SSL证书上传到服务器上并解压到运行nginx时挂载的-v /opt/cert/tencent:/etc/nginx/cert目录下,具体位置自己做调整,这一步估计也有一堆人踩坑故多截个图出来:

SSL证书目录

接着改gitlab.xubingtao.cn.conf配置文件,其中“ssl_certificate /etc/nginx/cert/gitlab/Nginx/gitlab.crt; ssl_certificate_key /etc/nginx/cert/gitlab/Nginx/gitlab.key;”为证书文件路径一定要跟运行nginx时挂载的目录对应上:

外部Nignx配gitlab SSL

然后重启gitlab和nginx就可以用https访问了:

下面是一些简单设置(这些操作是我在研究配SSL之前截图的,所以会显示不安全,操作完全一样这里就不重新截图了):

设置中文,在设置邮箱下面有个“Preferences”,点击后拉到下面的“Localization”:

新建项目,点标题栏中间那个加号选“新建项目”:

填写项目信息(如果先新建群组在项目URL那里可以选其他组,默认是在当前用户组下,这里是xbt):

填写项目信息后提示“新建 SSH 公钥 之前将无法通过 SSH 拉取或推送代码”:

到Windows、Mac、Linux任意一个终端输入ssh-keygen -t rsa -C ‘1399898086@qq.com’即可生成SSH密钥(这里考虑下Windows用户的感受特意在虚拟机里搞😄) :

点击上面提示的“新建 SSH 公钥”把生成的id_rsa.pub拷贝过去填:

然后就可以用工具pull项目了,这里用idea,拉完要重新open一下:

测试push代码:

这样就提交成功了:

gitlab是个重量级的强大代码托管服务器,所以我不打算挂在云服务器上一直运行着(毕竟我的云服务才4G内存,跑个gitlab内存已经飙到百分之九十多了😂)。


展开阅读全文


上一篇:

下一篇:

您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
关注我的公众号每天为您分享各类有用信息
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
分享录多端跨平台系统
分享录交流群