Ubuntu 14.04下安装Gitlab

GitLab

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它提供Git版本控制、代码检查、Bug跟踪和Wiki,它可以通过LDAP或活动目录来进行安全认证和授权。单个GitLab可以支持25000个用户,同时它也可以通过设置多台服务器来实现其高可用性。

 

按照官方文档:

 

https://packages.gitlab.com/gitlab/gitlab-ce/install

https://packages.gitlab.com/gitlab/gitlab-ce   [命令行下apt-get或者aptitude超时]

 

安装对应的依赖并安装对应版本:

 

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

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

sudo apt-get update && sudo apt-get install gitlab-ce=7.11.4~omnibus-1

上面操作会出现超时,直接使用给出的链接下载对应的deb

sudo wget -c https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab-ce_7.11.4~omnibus-1_amd64.deb(比较慢,建议使用迅雷下载上传)

sudo dpkg –I  gitlab-ce_7.11.4~omnibus-1_amd64.deb

 

配置并开启gitlab

 

sudo gitlab-ctl reconfigure

 

配置邮箱,URL:

 

#下面一定要添加“=”,GitLab自动生成时是没有这个等号的,结果得到"External URL must include a FQDN"这样的错误提示

external_url="www.hostname.com"

# 如果没有安装PostfixSendmail这类邮件服务的话,那么就需要象邮件客户端那样根据SMTP服务器的参数来设置以下的内容了

gitlab_rails['gitlab_email_from'] = '[email protected]'

gitlab_rails['gitlab_email_reply_to'] = '[email protected]'


gitlab_rails['smtp_enable'] = true

gitlab_rails['smtp_address'] = "smtp.gmail.com"

gitlab_rails['smtp_port'] = 587

gitlab_rails['smtp_user_name'] = "[email protected]"

gitlab_rails['smtp_password'] = "my-gmail-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' 

#Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html

邮箱配置参考:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md 

 

启用注册:

/etc/gitlab/gitlab.rb 文件中添加: gitlab_rails['gitlab_signup_enabled'] = true

 

测试:

 

Username: root

Password: 5iveL!fe

 

完整的Gitlab备份:

使用一条命令即可创建完整的Gitlab备份:

 

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1296213186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期.

 

Gitlab 修改备份文件默认目录

你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/mnt/backups'

 

Gitlab 自动备份

也可以通过crontab使用备份命令实现自动备份:

sudo /bin/su - root

crontab -e

加入以下, 实现每天凌晨2点进行一次自动备份:

0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create

 

Gitlab 恢复

同样, Gitlab的从备份恢复也非常简单:

# 停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

 

# 1296213186编号备份中恢复

gitlab-rake gitlab:backup:restore BACKUP=1296213186 #backups目录下只有一个备份文件时使用  

(根据/var/opt/gitlab/backups下的备份来确定)

 

启动Gitlab

sudo gitlab-ctl start

 

Gitlab迁移

迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话).

但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为7.60在进行备份.

 

每次修改配置需要执行:

sudo gitlab-ctl reconfigure

 

外网通过http或者git访问内网时,添加映射,需要修改nginx监听端口与external_url后添加端口.


番外:SVN与Gitlab有什么相同点与异同点?

你可能感兴趣的:(github,SVN,Jenkins,git,jira,gitlab)