GitLab安装实践

GitLab安装实践

一 前言

至从版本管理从SVN切换至Git后,对Git简直爱不释手,不仅每天在使用Git,平时也会逛Git相关的网站,如GitHub,Gitlab。就连自己的博客也是基于Git来搭建的,今天就为大家介绍一个非常好用的Git项目仓库管理工具,也就是今天的主角-GitLab

二 GitLab是什么?

首先我们需要认识一下,GitLab是什么,维基百科中是这么描述的:

GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与GitHub类似的功能,能够浏览代码,管理缺陷和注释,可以管理团队对仓库的方法,它非常易于浏览器提交过的版本并提供一个历史库。

对Git/GitHub比较熟悉的小伙伴,对上面的介绍应该比较容易理解,如果刚从SVN转过来的小伙伴,也可以理解为Git是中的VisualSVN Server,但是比VisualSVN Server更强大,说来这么多,怎么安装呢?别急,接着看。

三 安装

我这里安装的系统为: Ubuntu 14.04LTS。
GitLab分为在线安装与离线安装。由于GitLab依赖openSSH,首先我们需要安装openssh-server,命令如下:

1
sudo apt-get install curl openssh-server ca-certificates postfix -y

3.1 在线安装

  1. 添加Gitlab package server

    1
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
  2. 安装Gitlab

    1
    sudo apt-get install gitlab-ce

如下图所示就表示已经安装完成
success

  1. 配置启动Gitlab
    1
    sudo gitlab-ctl reconfigure

启动后,会显示很多日志,到最后,如下图所示时,就表示启动没有问题:
startlog.png
此时就能通过http://hostname进行访问了,其中hostname,为系统的系统主机名称,ubuntu可以通过在命令行中执行

1
hostname

如下图:
hostname
例如访问链接: http://andyqian/,如图所示:
success

3.2 离线安装

手动下载软件包链接: https://packages.gitlab.com/gitlab/gitlab-ce,选择合适的包后安装

1
dpkg -i gitlab-ce-XXX.deb

例如: https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce_9.4.3-ce.0_amd64.deb
重新加载配置并启动:

1
sudo gitlab-ctl reconfigure

四 修改root用户密码

默认用户为root用户,其为超级管理员权限,个人建议一开始就修改root用户密码,忘记密码也可以使用该方法:
打开console

1
sudo gitlab-rails console production;

查找需要修改的用户(id:1的用户为root用户)

1
user = User.where(id:1).first;

设置密码&确认密码

1
2
user.password = 'your_password'
user.password_confirmation = 'your_password'

保存修改

1
user.save!

重新加载配置

1
sudo gitlab-ctl reconfigure

重启服务

1
sudo gitlab-ctl restart

安全性
(ps:该root密码纯粹为来演示,不考虑安全性,建议在平常使用时考虑root密码的安全性)执行完成后就可以使用新密码登录了,登录成功后的界面如下图所示:
home

五 常用命令

1
2
3
4
5
6
sudo gitlab-rails console production;  //打开控制台  
sudo gitlab-ctl tail; //查看日志,包括nginx,redis等
sudo gitlab-ctl start; //开启gitlab服务
sudo gitlab-ctl stop; //关闭gitlab服务
sudo gitlab-ctl restart; //重启gitlab服务
sudo gitlab-ctl reconfigure //重新加载配置

六 邮件通知配置

Gitlab支持邮件功能,默认是不启用状态,我们可以通过在/etc/gitlab/gitlab.rb文件中配置,即可进行邮件的通知功能,邮件功能的使用场景主要有:
用户注册,密码重置,事件通知等。(笔者在这里使用的是163邮箱),在/etc/gitlab/gitlab.rb文件中配置如下:

1
2
3
4
5
6
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@163.com'
gitlab_rails['gitlab_email_display_name'] = 'you nickname'
gitlab_rails['gitlab_email_reply_to'] = 'xxxx@163.com'
gitlab_rails['gitlab_email_subject_suffix'] = ''

以上配置仅仅是开启邮件通知功能,以及发送邮件的一些简单配置,接下来,我们需要配置邮件服务器(SMTP),来进行发送邮件,如下所示:

1
2
3
4
5
6
7
8
9
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'] = "you password"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

其中:
smtp_user_name 为邮箱名
smtp_password: 登录密码
smtp_port: 如果是163邮箱则为固定值 25
注意: 该邮箱需要支持smtp协议,才能进行邮件的正常收发。
gitlab支持多种邮箱配置,具体配置参考链接SMTP配置

七 参考链接

GitLab
SMTP配置

八 小结

在本篇文章中,主要介绍了Gitlab安装的步骤,以及一些注意事项,在后面的文章中,介绍如何汉化,以及如何通过日志分析问题,并解决问题。


这里写图片描述

扫码关注,一起进步

个人博客: http://www.andyqian.com