Git服务器(4):部署GitLab服务器

1 服务器信息

  • 操作系统:Centos 7.9 x64
  • IP地址:10.10.10.13
  • 用户名/密码:root/geoscene
  • 机器名:ps.geoscene.cd

2 安装Docker

介绍安装可访问外网的情况下,安装稳定版本的Docker的步骤:

  1. 更新系统:yum update

  2. 卸载旧版本的Docker

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    
  3. 安装Docker依赖项:yum install -y yum-utils,提供yum-config-manager访问工具

  4. 添加Docker仓库:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  5. 安装Docker Engineyum install docker-ce docker-ce-cli containerd.io

  6. 启动Docker服务:systemctl start docker

  7. 配置Docker开机启动:systemctl enable docker

  8. 查看Dokcer状态:systemctl status docker

2.1 配置Docker使用国内镜像源

/etc/docker目录下创建daemon.json文件,配置使用阿里云镜像源,提高镜像拉取速度

$ cat /etc/docker/daemon.json
{
    "registry-mirrors": ["https://ys1k0cd5.mirror.aliyuncs.com"]
}

3 基于Docker安装GitLab

3.1 拉取GitLab社区版镜像

docker pull gitlab/gitlab-ce,其中ce表示的是Community Edition

3.2 设置镜像卷的位置

在开始Docker镜像部署之前,配置一个环境变量:GITLAB_HOME,指向GitLab配置文件、日志和数据文件的存储位置

$ mkdir -p /srv/gitlab
$ vi /etc/profile # 然后在文件末尾添加 GITLAB_HOME=/srv/git,保存
$ source /etc/profile

3.3 安装GitLab

使用以下命令启动容器

$ sudo docker run --detach \
  --hostname ps.geoscene.cd \
  --publish 443:443 --publish 80:80 --publish 23:22 \
  --name gitlab \
  --restart always \
  --add-host=ps.geoscene.cd:10.10.10.13 \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

GitLab启动时间有点长,大概需要3分钟,启动后,在浏览器中输入http://ps.geoscene.cd:8083或者http://<ip>:8083即可访问。

3.4 配置GitLab

3.3.1 设置root账户密码

在浏览器第一次访问GitLab页面时,会提示让你为root用户创建密码,在该页面中设置root账户的密码。

3.3.2 设置中文界面
  1. 使用root账户登录GitLab
  2. 点击页面右上角用户图标,选择“Setting”
  3. 在左侧选择“Preference”
  4. 在“Localzation”中选择“简体中文”
  5. 点击“Sava Changes”按钮,保存,然后重新刷新页面
3.3.3 取消开放注册功能

部署的GitLab是在公司局域网内使用,所有团队成员的账号可以由管理员来创建,所以关闭开放注册的功能

  1. 点击“管理中心”按钮,打开管理中心页面
  2. 依次点击“设置”、“通用”
  3. 在“注册限制”配置中取消勾选“Sign-up enabled”
  4. 点击“Save changes”,保存配置
3.3.4 修改external_url

修改gitlab.rb文件中的external_url配置项为:http://<ip>,其中,ip为服务器的IP地址。修改external_urlip地址,能够在发送邮件、克隆项目时使用ip地址而非hostname,这在局域网中的使用,是很有用的。

$ vi /srv/gitlab/config/external_url
3.3.5 配置SMTP邮件服务
  1. 访问运行的GitLab容器:docker exec -it gitlab /bin/bash,其中gitlab是上一步中配置的--name的值
  2. 编辑/etc/gitlab/gitlab.rb文件,修改第80-88行、第103-104行
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxx@163.com"
gitlab_rails['smtp_password'] = "password"  # 此处注意,不是账号的登录密码而是授权码
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = flase
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['gitlab_email_display_name'] = "user_name"
  1. 使用命令gitlab-ctl reconfigure使配置生效
  2. 测试邮件服务器是否配置成功:
$ gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.7.4 (2f14978e280) FOSS
 GitLab Shell: 13.14.0
 PostgreSQL:   12.4
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.3)
$ Notify.test_email('xx@xx.com', 'title', 'content').deliver_now

如果在指定邮箱中接收到邮件,表示邮件服务器配置成功

  1. 退出容器,使用命令重启容器:docker restart gitlab
3.3.2 创建用户
  1. 使用root用户登录GitLab
  2. 依次点击“管理中心”、“概览”、“用户”
  3. 点击“新用户”按钮创建新用户
  4. 输入“名称”、“Username”、“电子邮件”等必填项
  5. 点击“create user”创建用户
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值