在Linux上安装与配置GitLab

简介

  • GitLab是一个开源的版本管理系统,提供了类似于GitHub的源代码浏览,管理缺陷和注释等功能,你可以将代码免费托管到GitLab.com,而且不限项目数量和成员数;
  • 最吸引人的一点是允许在自己的服务器上搭建GitLab CE(社区免费版)版本,方便内部团队协作开发和代码管理;
  • 本文将介绍如何在Linux服务器上使用包管理器搭建GitLab CE版本,以及一些基本的配置;

资源

安装方式

CentOS系统

更新软件源

添加GitLab

1
$ vim /etc/yum.repos.d/gitlab-ce.repo
1
2
3
4
5
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
1
$ yum makecache fast && yum update -y

安装邮件服务

1
2
3
$ yum install -y postfix
$ systemctl enable postfix
$ systemctl start postfix

安装GitLab

  • GitLab自带了Web服务器(Nginx),若需要使用服务器已有的Nginx,需要额外的配置;
1
$ yum install -y gitlab-ce

Docker

更新软件源

安装Docker服务

GitLab镜像

配置GitLab

重新生成配置

  • 每一次修改配置文件,都要执行此操作;
1
$ gitlab-ctl reconfigure

配置服务端口

1
external_url 'http://ip_address:new-port'

邮件服务

Gmail

  • 请自行更改smtp_user_namesmtp_password
1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

QQ exmail(腾讯企业邮箱)

  • 请自行更改smtp_user_namesmtp_passwordgitlab_email_from
1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true 
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'smtp user'

Outlook

  • 请自行更改smtp_user_namesmtp_passwordgitlab_email_from
1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp-mail.outlook.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "smtp-mail.outlook.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['gitlab_email_from'] = 'smtp user'

其他邮件服务

  • 其他邮件服务的设置,请参照官网,此处就不再赘述了;

测试操作

1
$ gitlab-rails console
1
irb(main):001:0> Notify.test_email('ben_wyx@outlook.com', 'Hello', 'Hello, World').deliver_now

使用方式

界面使用

设置密码

  • 首次访问,http://172.18.20.100,页面会提示设置管理员的密码;
  • 管理员:root,密码:<自定义>

关闭头像

  • 点击Admin area(小扳手),然后点击Settings,取消勾选Gravatar enabled

禁用注册

  • 点击Admin area(小扳手),然后点击Settings,取消勾选Sign-up enabled

自定义页面布局

  • 点击个人的Settings,然后点击Preferrences,就可以自定义页面布局了;
  • 建议配置:
    • Syntax highlighting themeSolarized Dark
    • New NavigationNew
    • Layout widthFluid

命令使用

启动服务

1
$ gitlab-ctl start

停止服务

1
$ gitlab-ctl stop

获取运行状态

1
$ gitlab-ctl status

获取帮助信息

1
$ gitlab-ctl --help

有你就有世界,感谢有你,昕!
0%