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 在线安装
添加Gitlab package server
1
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
安装Gitlab
1
sudo apt-get install gitlab-ce
如下图所示就表示已经安装完成
- 配置启动Gitlab
1
sudo gitlab-ctl reconfigure
启动后,会显示很多日志,到最后,如下图所示时,就表示启动没有问题:
此时就能通过http://hostname进行访问了,其中hostname,为系统的系统主机名称,ubuntu可以通过在命令行中执行1
hostname
如下图:
例如访问链接: http://andyqian/,如图所示:
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用户密码,忘记密码也可以使用该方法:
打开console1
sudo gitlab-rails console production;
查找需要修改的用户(id:1的用户为root用户)1
user = User.where(id:1).first;
设置密码&确认密码1
2user.password = 'your_password'
user.password_confirmation = 'your_password'
保存修改1
user.save!
重新加载配置1
sudo gitlab-ctl reconfigure
重启服务1
sudo gitlab-ctl restart
(ps:该root密码纯粹为来演示,不考虑安全性,建议在平常使用时考虑root密码的安全性)执行完成后就可以使用新密码登录了,登录成功后的界面如下图所示:
五 常用命令
1 | sudo gitlab-rails console production; //打开控制台 |
六 邮件通知配置
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
9gitlab_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安装的步骤,以及一些注意事项,在后面的文章中,介绍如何汉化,以及如何通过日志分析问题,并解决问题。