ubuntu14.04 安装gitlab

前端之家收集整理的这篇文章主要介绍了ubuntu14.04 安装gitlab前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

15368人阅读

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它提供Git版本控制代码检查、Bug跟踪和Wiki,它可以通过LDAP或活动目录来进行安全认证和授权。单个GitLab可以支持25000个用户,同时它也可以通过设置多台服务器来实现其高可用性。GitLab并没有被收入到Ubuntu14.04软件库中,但安装GitLab却也十分方便,下面讲讲如何安装GitLab:

首先照着GitLab的官方文档,输入以下命令:

wget -c https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab_7.0.0-omnibus-1_amd64.deb
sudo apt-get install openssh-server
sudo apt-get install postfix 
sudo dpkg -i gitlab_7@H_502_22@.0@H_502_22@.0-omnibus-@H_502_22@1_amd64.deb

因为GitLab这个包的地址下载速度很慢,还经常出现断点,所以在wget后加上了-c这个参数。安装openssh-server这句其实可以去掉,因为我一般都是在安装服务器的时候就勾选安装了这个服务,毕竟需要远程登录服务器嘛!Postfix是邮件服务,如果不安装这个服务的话,也可以安装Sendmail或Exim等相似的邮件服务(如果有邮件服务器的话,这一步可以忽略,可以通过gitlab-ctl来重配置SMTP服务)。


接下来是设置GitLab的域名:

sudo mkdir -p /etc/gitlab
sudo touch /etc/gitlab/gitlab.rb
sudo chmod @H_502_22@600 /etc/gitlab/gitlab.rb
sudo vi /etc/gitlab/gitlab.rb

然后添加一条域名配置:

external_url "# 如果没有安装Postfix或Sendmail这类邮件服务的话,那么就需要象邮件客户端那样根据SMTP服务器的参数来设置以下的内容了
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 456
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

然后对GitLab进行重配置即可:

sudo gitlab-ctl reconfigure

注意:正如GitLab大多数配置文件(如gitlab.yml或database.yml等)中所注释的那样:

# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below,edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.

在GitLab中的大部分关于配置方面的修改,现在都需要在/etc/gitlab/gitlab.rb中进行设置,然后再运行sudo gitlab-ctl reconfigure进行修改

如果对如何配置gitlab.rb有兴趣的话,可以参见:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md这个网址,基本上已经讲得很清楚了。

接下来就是检测是否安装成功了,可以输入下面的命令:

sudo gitlab-ctl status
[sudo] password for firehare: 
run: Nginx: (pid @H_502_22@13334) @H_502_22@16103s; run: log: (pid @H_502_22@4244) @H_502_22@22211s
run: postgresql: (pid @H_502_22@4153) @H_502_22@22280s; run: log: (pid @H_502_22@4152) @H_502_22@22280s
run: redis: (pid @H_502_22@4070) @H_502_22@22291s; run: log: (pid @H_502_22@4069) @H_502_22@22291s
run: sidekiq: (pid @H_502_22@4234) @H_502_22@22212s; run: log: (pid @H_502_22@4233) @H_502_22@22212s
run: unicorn: (pid @H_502_22@4212) @H_502_22@22218s; run: log: (pid @H_502_22@4211) @H_502_22@22218s

如果得到与上面相似的结果,那么说明你安装成功。

由于GitLab包自带了Ruby、Rails和Postgresql,所以也就不需要象以前那样考虑兼容性的问题了。最后只需要直接登录GitLab所在的服务器,并使用帐号root,密码5iveL!fe来登录GitLab。首次登录GitLab会强行让你重置密码,然后就可以进入GitLab了。

配置邮箱

$ sudo vi /etc/gitlab/gitlab.rb                            
# Change the external_url to the address your users will type in their browser
external_url 'http://xxhost.com'

#Sending application email via SMTP
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25 
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true

发送不成功,·sudo gitlab-ctl tail`检查日志报错如下:

2014-07-11_16:12:08.43945 2014-07-11T16:12:08Z 12595 TID-dxf7c Sidekiq::Extensions::DelayedMailer JID-061604dc558ce8560b273cbe INFO: fail: 0.574 sec
2014-07-11_16:12:08.44955 2014-07-11T16:12:08Z 12595 TID-dxf7c WARN: {"retry"=>true, "queue"=>"default", "class"=>"Sidekiq::Extensions::DelayedMailer", "args"=>["---\n- !ruby/class 'Notify'\n- :project_access_granted_email\n- - 4\n"], "jid"=>"061604dc558ce8560b273cbe", "enqueued_at"=>1405094359.354158, "error_message"=>"553 Mail from must equal authorized user\n", "error_class"=>"Net::SMTPFatalError", "Failed_at"=>"2014-07-11 15:59:28 UTC", "retry_count"=>5, "retried_at"=>2014-07-11 16:12:08 UTC}

Google大法后,错误码对应解释网易服务器smtp机器要求身份验证帐号和发信帐号必须一致,如果用户在发送邮件时,身份验证帐号和发件人帐号是不同的,因此拒绝发送。

修改gitlab.rb,修改发信人和身份验证帐号一致,163发信OK。

$ sudo vi /etc/gitlab/gitlab.rb                            
# Change the external_url to the address your users will type in their browser
external_url 'http://xxhost.com'

#Sending application email via SMTP
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25 
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true

##修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com

猜你在找的Ubuntu相关文章