Linux安装部署GitLab

一、前言

最近在学习 Jenkins,需要使用到 gitlab,所以记录下 gitlab 安装过程。

1、本文主要内容

GitLab社区版部署
GitLab配置禁用创建组权限
GitLab配置邮件(SMTP)
GitLab常用命令说明

2、GitLab 介绍

GitLab 一个开源的 git 仓库管理平台,方便团队协作开发、管理。在 GitLab 上可以实现完整的 CI(持续集成)、CD(持续发布)流程。而且还提供了免费使用的Plan,以及免费的可以独立部署的社区版本 ,地址

  官网:https://about.gitlab.com/
  镜像地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

3、本篇环境信息

    服务器信息
        服务器名称: GitLab
        操作系统:Centos 7
        硬件配置: 2C8G
        IP:192.168.0.10
        说明:部署 GitLab 社区版

    软件
        工具 / 环境:GitLab
        版本: 社区版 16.10.0

二、准备工作

1、配置清华大学镜像仓库

  • 新建仓库配置文件

使用 vim /etc/yum.repos.d/gitlab-ce.repo 命令,输入以下内容

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
  • 更新 yum缓存
# 重新 yum 编译仓库缓存
$ sudo yum makecache

# 建立元数据缓存
$ sudo yum install gitlab-ce

2、安装基础依赖

# 安装基础依赖
$ sudo yum -y install policycoreutils openssh-server openssh-clients postfix

# 启动 ssh 服务 & 设置为开机启动
$ sudo systemctl enable sshd & sudo systemctl start sshd

3、安装 Postfix

Postfix 是一个邮件服务器,GitLab 发送邮件需要用到

# 安装 postfix
$ sudo yum install -y postfix

# 启动 postfix 并设置为开机启动
$ sudo systemctl enable postfix & sudo systemctl start postfix

4、开放 ssh 以及 http 服务(80 端口)

# 开放 ssh、http 服务
$ sudo firewall-cmd --add-service=ssh --permanent & sudo firewall-cmd --add-service=http --permanent

# 重载防火墙规则
$ sudo firewall-cmd --reload

三、部署过程

本次我们部署的是社区版: gitlab-ce ,如果要部署商业版可以把关键字替换为:gitlab-ee

1、Yum安装GitLab

  • 下载指定版本的 gitlab,可以在清华大学镜像站去选择:地址
$ wget http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.10.0-ce.0.el7.x86_64.rpm
  • 安装 GitLab 社区版
$ rpm -i gitlab-ce-16.10.0-ce.0.el7.x86_64.rpm

2、配置 GitLab站点 Url和端口号

GitLab 默认的配置文件路径是 /etc/gitlab/gitlab.rb

默认的站点 Url 配置项是:external_url "http://gitlab.example.com"

这里我将 GitLab 站点 Url 修改为 自己的ip地址. 也可以用域名代替 IP,这里根据自己需求来即可

# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb

# 配置首页地址(大约在第 15 行)
$ external_url '访问地址:ip或url'

3、启动并访问GitLab

  • 启动GitLab
# 重新配置并启动
$ sudo gitlab-ctl reconfigure

# 完成后将会看到如下输出
Running handlers:
Running handlers complete
Chef Infra Client finished, 10/776 resources updated in 45 seconds
gitlab Reconfigured!
# 启动 gitlab
$ gitlab-ctl restart
# 查看启动详细信息
$ systemctl status gitlab-runsvdir.service
  • 访问 GitLab

将设置的域名 DNS 解析到服务器 IP,或者修改本地 host 将域名指向服务器 IP。访问:http://xxx.xxx.x.xx:端口/users/sign_in

file

进入首页,随后进行登录,管理员账号默认用户名是root。

初始化密码可以在 GitLab初始化文件查看

$ cat /etc/gitlab/initial_root_password
# 复制 Password 后面的内容即可
Password: xxxxxxxxxxx

四、GitLab 常用配置

1、邮件配置

配置邮箱可以让 GitLab 在发生相应事件的时候进行邮件通知

比如:找回密码、添加邮箱等

# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb

# 邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.163.com'
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = 'yourmail@163.com'
gitlab_rails['smtp_password'] = 'yourpasswd'
gitlab_rails['smtp_domain'] = 'smtp.163.com'
gitlab_rails['smtp_authentication'] = 'login'
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'yourmail@163.com'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'

# 保存后,重新配置并启动 GitLab
$ sudo gitlab-ctl reconfigure

2、禁用创建组权限

GitLab 默认所有的注册用户都可以创建组。但对于团队来说,通常只会给 Leader 相关权限。

虽然可以在用户管理界面取消权限,但毕竟不方便。我们可以通过配置 GitLab 默认禁用创建组权限。


# 修改配置文件
$ sudo vi /etc/gitlab/gitlab.rb

# 开启 gitlab_rails['gitlab_default_can_create_group'] 选项,并将值设置为 false
### GitLab user privileges
$ gitlab_rails['gitlab_default_can_create_group'] = false

# 保存后,重新配置并启动 GitLab
$ sudo gitlab-ctl reconfigure

3、gitlab-ctl 常用命令介绍

命令 说明
check-config 检查在 gitlab 中是否有任何配置。在指定版本中删除的 rb
deploy-page 安装部署页面
diff-config 将用户配置与包可用配置进行比较
remove-accounts 删除所有用户和组
upgrade 升级
service-list 查看所有服务
once 如果 GitLab 服务停止了就启动服务,如果已启动就不做任何操作
restart 重启 GitLab 服务
start 如果 GitLab 服务停止了就启动服务,如果已启动就重启服务
stop 停止 GitLab 服务
status 查看 GitLab 服务状态
reconfigure reconfigure 重新配置 GitLab 并启动
1. 本站所有资源来源于用户上传和网络,如有侵权请及时联系删除,本站不承担任何法律责任!
2. 分享目的仅供大家学习和研究,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的教程、源码等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.94zyw.com",如遇到无法解压的请联系管理员!
94资源网 » Linux安装部署GitLab