Gitlab-01-Gitlab部署和基本配置

参考官方文档:https://about.gitlab.com/install/

在这里插入图片描述

一、安装和配置依赖环境

最少需要 4G 内存

1 关闭防火墙和 SELinux

2 安装依赖包

yum install -y curl policycoreutils-python openssh-server perl

二、添加GitLab软件包存储库并安装软件包

1 添加 GitLab 仓库文件

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

2 配置服务器的 FQDN

external_url 的值,将用于与 GitLab实例进行交互的地址。通过SSH / HTTP / HTTPS克隆将使用此地址。访问Web UI将引用此DNS条目。

下面我们声明一个变量,一般安装工具使用此变量部署 GitLab Server

EXTERNAL_URL="https://gitlab.sharkyun.com"

注意: gitlab.sharkyun.com 需要能被正常解析为 GitLab Server 的 IP

安装 Git ce (社区版)

Git ee 是企业版,收费

yum install -y gitlab-ee

三、配置 Gitlab Server

gitlab的配置文件 /etc/gitlab/gitlab.rb

1 配置时区

gitlab_rails['time_zone'] = 'Asia/Shanghai'

2 绑定监听的域名或IP

external_url 'http://192.168.60.119'

此地址用于访问 GitLab 服务器。

3 使用非默认的 80 端口

如果需要手工修改nginx的port ,可以在gitlab.rb中设置 nginx[‘listen_port’] = 8000 ,然后再次 gitlab-ctl reconfigure即可

4 配置发送邮件通知

假如你想让互联网的邮箱服务提供商,帮你的 gitlab 发送邮件,就需要在配置文件中设置,并且需要在邮件服务提供商那里开通 SMTPPOP3 功能。

关于 SMTP 和 POP3 的区别,访问 https://www.zhihu.com/question/24605584

这里简单说一下, SMTP 用于发邮件, POP3 用于收邮件。

这里我以 126 邮箱为例,演示一下

  1. 首先我们在邮箱服务提供商那里开通 SMTP

在这里插入图片描述

  1. 配置系统使用的SMTP 服务器设置

在配置文件: /etc/gitlab/gitlab.rb 中做如下修改

这部分,不管是使用postmail或者SMTP都需要做如下的配置。

# 是否开启系统邮箱,默认开启
gitlab_rails['gitlab_email_enabled'] = true

# 用这个账号去发送邮件,也就是开通了 SMTP 服务的账户
gitlab_rails['gitlab_email_from'] = 'my@126.cn'

# 发送邮件中要显示的发件人名称
gitlab_rails['gitlab_email_display_name'] = 'Gitlab Server Admin'

# 邮件的标题后缀,如下图
gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'

在这里插入图片描述

  1. 配置完系统的发件信息,接下来设置邮件服务提供商的账户登录验证信息。

    要想使用邮件服务商为 gitlab 系统发送邮件,是需要进行登录, 登录就需要先验证的。

    所以要填写相关用于登录验证的信息

    值的注意的是,上面 gitlab_email_from 的账户必须和这里的用户名(smtp_user_name)一致。

    # 是否开启系统邮箱,默认开启
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.126.com"
    gitlab_rails['smtp_port'] = 465
    
    # 用这个账号去发送邮件,也就是开通了 SMTP 服务的账户
    gitlab_rails['smtp_user_name'] = "my@126.com"
    gitlab_rails['smtp_password'] = "xxx"  # 授权码,非登录密码
    gitlab_rails['smtp_domain'] = "126.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'
    
    
    # 更多查看下方网址
    # https://docs.gitlab.com/omnibus/settings/smtp.html
    
    # 如果你不配置发件人, 有些邮件服务器会发送失败, 
    # 所以我们最好把账号和发件人都配置了, 并且保持一致, 这样保证兼容问题
    

    SMTP 客户端授权码

在这里插入图片描述

  1. 重启相关服务,使最新的配置文件生效

先启动服务

gitlab-ctl start
[root@vm1 ~]# gitlab-ctl reconfigure

# 再重启一下
[root@vm1 ~]# gitlab-ctl restart

使用gitlab-rails console命令进行发送邮件测试,如下所示:

irb(main):003:0> Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

示例

[root@prodgitlab ~]# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.8.2 (643958d42f2) FOSS
 GitLab Shell: 13.15.0
 PostgreSQL:   12.5
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0> Notify.test_email('86000153@qq.com', 'Message Subject', 'Messa
ge Body').deliver_now
Notify#test_email: processed outbound mail in 2.3ms
Delivered mail 60b4b7bd615ee_43ac544c8634e@prodgitlab.mail (6172.2ms)
Date: Mon, 31 May 2021 18:17:33 +0800
From: GitLab Server <sharkyunops@126.com>
Reply-To: GitLab Server <noreply@gitlab.sharkyun.com>
To: 86000153@qq.com
Message-ID: <60b4b7bd615ee_43ac544c8634e@prodgitlab.mail>
Subject: Message Subject
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Message Body</p></body></html>

=> #<Mail::Message:191400, Multipart: false, Headers: <Date: Mon, 31 May 2021 18:17:33 +0800>, <From: GitLab Server <sharkyunops@126.com>>, <Reply-To: GitLab Server <noreply@gitlab.sharkyun.com>>, <To: 86000153@qq.com>, <Message-ID: <60b4b7bd615ee_43ac544c8634e@prodgitlab.mail>>, <Subject: Message Subject>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
irb(main):002:0> quit
[root@prodgitlab ~]#

配置并启动相关服务

每次必须配置后,才能启动相关服务器,不论是不是第一次启动服务。

使用gitlab-ctl reconfigure 自动配置,并安装数据库,初始化信息,如下所示(第一次使用配置时间较长):

[root@vm1 ~]# gitlab-ctl reconfigure   
.....

启动服务器执行如下命令

gitlab-ctl restart

四、初次登录

1 设置 root 管理员密码

用户在第一次登录服务器的时候,都需要重新设置密码。

在浏览器中输入 Gitlab 服务器地址

在这里插入图片描述

由于安装的版本不同,有可能你看到页面的布局和这里的不一样。

2 登录

修改密码成功后,再次访问服务器,会显示登录页面

在这里插入图片描述

3 设置中文页面

在这里插入图片描述

页面拉取到最后

在这里插入图片描述
修改完毕后,刷新页面即可

4 修改管理员 root 的密码

假如忘记密码可以执行如下命令修改

方式一:命令: gitlab-rake "gitlab:password:reset" (使用于 13.9 版本)

[root@prodgitlab ~]# gitlab-rake "gitlab:password:reset"
Enter username: root   // 输入需要修改密码的用户名
Enter password:
Confirm password:
Password successfully updated for user with username root.

方式二: 通用

gitlab-rails  console
user = User.find(1)
user.password = "新密码"
user.password_confirmation = "新密码"
user.save!
quit

在这里插入图片描述

在这里插入图片描述

五、docker-compose 方式部署

最简单的方式

web:
  image: 'gitlab/gitlab-ee:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'https://gitlab.example.com'
      # Add any other gitlab.rb configuration here, each on its own line
  ports:
    - '80:80'
    - '443:443'
    - '22:22'
  volumes:
    - '$GITLAB_HOME/config:/etc/gitlab'
    - '$GITLAB_HOME/logs:/var/log/gitlab'
    - '$GITLAB_HOME/data:/var/opt/gitlab'

自定义HTTP和SSH端口的方式如下:

web:
  image: 'gitlab/gitlab-ee:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://gitlab.example.com:8929'
      gitlab_rails['gitlab_shell_ssh_port'] = 2224
  ports:
    - '8929:8929'
    - '2224:22'
  volumes:
    - '$GITLAB_HOME/config:/etc/gitlab'
    - '$GITLAB_HOME/logs:/var/log/gitlab'
    - '$GITLAB_HOME/data:/var/opt/gitlab'
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shark_西瓜甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值