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" # 如果没有安装Postfix或Sendmail这类邮件服务的话,那么就需要象邮件客户端那样根据SMTP服务器的参数来设置以下的内容了 gitlab_rails['gitlab_email_from'] = 'my.email@gmail.com' gitlab_rails['gitlab_email_reply_to'] = 'my.email@gmail.com'
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "my.email@gmail.com" 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后添加端口. (责任编辑:IT) |