记一次 Gitlab 搭建 [163邮箱配置、外网地址配置]

一、前言

先前一直使用另一个团队维护的 gitlab,不过由于另一个团队最近连续出现了服务器停机导致这边团队使用受到影响,今天刚好有时间,就决定重新在内网单纯的部署一套 gitlab 供团队使用。

至于什么是 Gitlab,简单理解就是一个支持私有部署的类 GitHub。详细的了解可以自行去官网查阅,这里不赘述。不过只补充一句:GItlab 还算是蛮跟时代潮流的,通过安装体验之后发现目前对 CI/DI 进行了很好的支持。

二、安装

2.1 环境简述

这里我的环境是 Ubuntu、Centos 等其他发行版差别不大,基本上只是包管理器命令不一样而已。
OS Ubuntu Service 18.04 Gitlab 13.3.0-ce(社区版)

Gitlab 的安装方式根据不通的平台和安装方式可以有很多种,比如使用 Docker、使用发行版的包管理器、以及源码编译安装。不过这里使用官方推荐的包管理器的安装方式。

以下步骤基本是官方所列,部分小坑此文会特意强调

2.2 进行基本环境准备

$ sudo apt-get update
$ sudo apt-get install -y curl openssh-server ca-certificates
$ sudo apt-get install -y postfix (发送通知邮件用,直接使用默认配置选项即可)

2.3 添加 gitlab 到软件建仓库(apt)

# 企业版(官方文档默认给出的是企业版即 gitlab-ee)
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
# 社区版(我这里选择的时社区版即 gitlab-ce,似乎官方为了让更多用户选择企业版,所以官方手册没有明示此地址)
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
由于资源在国外,所以实际可能会比较慢,如果没响应可以多次重试,或者直接使用代理。

2.4 安装

# 先设置外部地址变量(安装脚本执行时会使用该值),因为是当前是内网,所以这里写内网主机的实际地址。
$ sudo EXTERNAL_URL="http://192.168.30.200" apt-get install gitlab-ce
这里解释一下 EXTERNAL_URL,这个地址主要用来生成 gitlab 仓库的前缀。所以通常设置为你最常访问 gitlab 服务的地址,比如你把 gitlab 映射到了 gitlab.your-domain.com 则此处就为 EXTERNAL_URL= 特别注意的是,此处不能加端口号。 此外,同样由于资源在外网,并且比较大大约 700MB,所以请耐心等待。如果多次都失败了(参考下图),可以直接拷贝链接地址,然后使用可以翻墙的设备下载这个软件包

离线安装包安装参考

$ sudo apt install ${path}/gitlab-ce_13.3.0-ce.1_amd64.deb

2.5 安装之后的配置

一切安装完成之后,就可以使用浏览器输入地址进行访问了。这里是设置初始管理员(root)密码,设置完成之后使用 root 账户登录即可进入系统。

至此基本安装与配置就完成了。

三、配置邮件通知

3.1 首先是注册一个163邮箱

这个过程就略了,注册完之后记得开启 POP3

开启时会弹窗给出一个登陆授权码,该授权码只会展示一次,请务必记住。

3.2 修改配置文件(/etc/gitlab/gitlab.rb)

定位到 smtp_enable 部分

# 使用新的配置文件重新启动 gitlab 服务
$ sudo gitlab-ctl reconfigure

进行 email 测试,

四、配置外部地址路径

这里略去内网穿透,具体如何操作使用什么工具,请自行学习根据实际情况决定
$ sudo gitlab-ctl stop

修改 /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

$ sudo gitlab-ctl start

此时再看仓库地址就发现根 url 变成了/test-pro。

经验分享 程序员 微信小程序 职场和发展