在Linux上安装与配置GitLab

一、简介

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

二、资源

GitLab官网: https://about.gitlab.com/installation/
Gmail: https://about.gitlab.com/installation/

三、CentOS系统

1、更新软件源

  • 配置国内的软件源,请详见 https://www.xiaocoder.com/2017/02/21/resource-1/ ;
  • 需要配置CentOS Base源与epel源;

2、添加GitLab源

$ 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 makecache fast && yum update -y

3、安装邮件服务

$ yum install -y postfix
$ systemctl enable postfix
$ systemctl start postfix

4、安装GitLab

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

四、Docker

1、更新软件源

  • 配置国内的软件源,请详见《CentOS/Ubuntu的国内软件源》;

2、安装Docker服务

  • 在服务器上安装Docker CE,安装指南请参考《在Linux上安装Docker》;

3、GitLab镜像

  • 官网资源: https://docs.gitlab.com/ce/install/docker.html

五、配置GitLab

1、配置服务端口

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

2、邮件服务

Gmail

  • 请自行更改smtp_user_name与smtp_password;
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_name、smtp_password与gitlab_email_from;
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_name、smtp_password与gitlab_email_from;
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'

其他邮件服务

  • 其他邮件服务的设置,请参照官网: https://docs.gitlab.com/omnibus/settings/smtp.html ,此处就不再赘述了;

测试操作

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

3、重新生成配置

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

六、界面使用

1、设置密码

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

2、关闭头像

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

3、禁用注册

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

4、自定义页面布局

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

七、命令使用

1、启动服务

$ gitlab-ctl start

2、停止服务

$ gitlab-ctl stop

3、获取运行状态

$ gitlab-ctl status

4、获取帮助信息

$ gitlab-ctl --help
标签:GITLinux 发布于:2019-11-08 15:44:03