1、安装

gitlab的源码安装极其复杂,如果要尝试源码安装可以参考如下文档:

https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

也可以参考:http://54im.com/git/centos6-install-gitlab-ldap认证.html

rpm包的安装可以参考官网:

https://about.gitlab.com/downloads/

也可以自己下载好rpm包,直接安装。安装方法如下:

  1. yum install -y postfix
  2. yum install -y cronie
  3. service postfix start
  4. chkconfig postfix on
  5. lokkit -s http -s ssh
  6. curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.9.4_omnibus.1-1.el6.x86_64.rpm
  7. rpm -vih gitlab-7.9.4_omnibus.1-1.el6.x86_64.rpm
  8. gitlab-ctl reconfigure

安装完成后,在浏览器输入gitlab的IP地址,即可访问,默认帐号密码为:root/5iveL!fe

2、gitlab基本配置

  1. # cat /etc/gitlab/gitlab.rb
  2. external_url 'http://git.hongxin.com' #指定gitlab服务器地址
  3. nginx['enable'] = false #不启用gitlab自带的nginx
  4. #nginx['listen_addresses'] = ['192.168.1.202'] #gitlab的nginx监听地址
  5. unicorn['port'] = 8080 #修改unicorn的默认端口,即gitlab服务的默认端口。可启用此端口,而关闭gitlab自带的nginx,使用其他nginx来代理该端口
  6. gitlab_rails['gitlab_shell_ssh_port'] = 52113 #定义ssh端口配置,该端口需要与/etc/ssh/sshd_config文件中ssh监听的端口保持一致

gitlab的所有工程目录都在/var/opt/gitlab下,数据仓库存放在/var/opt/gitlab/git-data/

配置完成以后,执行gitlab-ctl reconfigure来载入配置,并启动gitlab

3、gitlab的邮件配置

3.1、使用本地的postfix发送邮件

  1. service potfix start
  2. vim /etc/gitlab/gitlab.rb
  3. gitlab_rails['gitlab_email_from'] = 'gitlab@example.com' #定义发邮件的邮箱名称,默认使用本机的postfix发送邮件

3.2、使用邮件发送模板

  1. gitlab_rails['smtp_enable'] = true
  2. gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
  3. gitlab_rails['smtp_port'] = 465
  4. gitlab_rails['smtp_user_name'] = "完整邮件账户"
  5. gitlab_rails['smtp_password'] = "密码"
  6. gitlab_rails['smtp_domain'] = "邮件账户所在域"
  7. gitlab_rails['smtp_authentication'] = "login"
  8. gitlab_rails['smtp_enable_starttls_auto'] = true
  9. gitlab_rails['smtp_tls'] = true # 这个很重要,而且是官方文档里没提及的
  10. #修改gitlab配置的发信人,否则会抛出"553 Mail from must equal authorized user"的错误
  11. gitlab_rails['gitlab_email_from'] = '完整邮件账户'
  12. user["git_user_email"] = "xxxxxxx"

3.3、使用腾讯企业邮箱配置发送邮件

  1. gitlab_rails['smtp_enable'] = true
  2. gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
  3. gitlab_rails['smtp_port'] = 465
  4. gitlab_rails['smtp_user_name'] = "tech@gongmall.com"
  5. gitlab_rails['smtp_password'] = "tech@gongmall.com的密码"
  6. gitlab_rails['smtp_domain'] = "gongmall.com"
  7. gitlab_rails['smtp_authentication'] = "login"
  8. gitlab_rails['smtp_enable_starttls_auto'] = true
  9. gitlab_rails['smtp_tls'] = true
  10. gitlab_rails['gitlab_email_from'] = 'tech@gongmall.com'
  11. user["git_user_email"] = "xxxxxxx"

3.4、使用163邮箱来发送gitlab的邮件

  1. # cat /etc/gitlab/gitlab.rb
  2. #配置smtp
  3. gitlab_rails['smtp_enable'] = true
  4. gitlab_rails['smtp_address'] = "smtp.163.com"
  5. gitlab_rails['smtp_port'] = 25
  6. #配置邮箱帐号密码
  7. gitlab_rails['smtp_user_name'] = "yan_ruo_gu@163.com"
  8. gitlab_rails['smtp_password'] = "xxxxxxx"
  9. #配置邮箱域
  10. gitlab_rails['smtp_domain'] = '163.com'
  11. gitlab_rails['smtp_authentication'] = :login #有的配置成:plain
  12. gitlab_rails['smtp_enable_starttls_auto'] = true #是否开启tls认证
  13. #修改gitlab配置的发信人,否则会抛出"553 Mail from must equal authorized user"的错误
  14. gitlab_rails['gitlab_email_from'] = "yan_ruo_gu@163.com"
  15. user["git_user_email"] = "xxxxxxx"

4、启用gitlab的https

  1. #生成密钥对
  2. cd /etc/gitlab/ssl
  3. openssl genrsa -des3 -out server.key 1024
  4. openssl rsa -in server.key -out server.key #去除server.key的加密口令
  5. openssl req -new -key server.key -out server.csr
  6. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  7. # vim /etc/gitlab/gitlab.rb
  8. nginx['redirect_http_to_https'] = true
  9. nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
  10. nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"
  11. gitlab-ctl reconfigure

5、更改仓库存储路径

gitlab默认的仓库路径是/var/opt/gitlab/git-data/repositories,一般服务器上/var的空间不是很足,所以要把仓库配置到其他路径。

5.1、新仓库修改存储路径

如果是刚安装好gitlab,还没开始使用,修改配置即可:

  1. # vim /etc/gitlab/gitlab.rb
  2. git_data_dir "/data/git-data"

5.2、使用了一段时间的仓库修改存储路径

如果gitlab已经在使用,除了修改配置,还需要如下步骤:

  1. gitlab-ctl stop
  2. rsync -av /var/opt/gitlab/git-data/repositories /data/git-data/
  3. # vim /etc/gitlab/gitlab.rb
  4. git_data_dir "/data/git-data"
  5. gitlab-ctl start
  6. gitlab-ctl reconfigure

6、gitlab数据备份与恢复

6.1、备份

gitlab备份的计划任务:

  1. 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

gitlab修改备份路径:

  1. # vim /etc/gitlab/gitlab.rb
  2. gitlab_rails['backup_path'] = '/mnt/backups'

6.2、恢复

停止相关数据连接服务:

  1. gitlab-ctl stop unicorn
  2. gitlab-ctl stop sidekiq

从指定编号备份中恢复:

  1. gitlab-rake gitlab:backup:restore BACKUP=139351368

启动gitlab:

  1. gitlab-ctl start

6.3、迁移

把备份文件拷贝到gitlab的备份目录下,执行恢复操作即可

7、gitlab头像无法正常显示

在配置文件/etc/gitlab/gitlab.rb中添加如下项:

  1. gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

然后执行:

  1. gitlab-ctl reconfigure
  2. gitlab-rake cache:clear RAILS_ENV=production

8、gitlab查看日志

  1. gitlab-ctl tail

Git7:使用Gitlab管理远程仓库的更多相关文章

  1. git注册到git管理远程仓库

    注册: ① 注册github网站:地址:https://github.com/,其中sign up 是注册,sign in是登录 (如果是用QQ邮箱的话,如果觉得收不到邮箱,可能是在垃圾箱哦) ② 之 ...

  2. 6. Git管理远程仓库

    6. Git管理远程仓库 使用远程仓库的目的 作用:备份,实现代码共享集中化管理 Git克隆操作 目的 将远程仓库(github对应的项目)复制到本地 代码 git clone 仓库地址 多学一招:仓 ...

  3. 本地Git连接GitLab(服务器)远程仓库

    1.简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github.gitlab等.为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLa ...

  4. Git管理远程仓库

    一:使用远程仓库的目的 作用:备份,实现代码共享集中化管理: 二:将git本地仓库同步到远程仓库流程图 三:Git克隆操作 目的: 将远程仓库(github远程仓库项目代码)克隆到本地 如何克隆 1. ...

  5. 使用git管理远程仓库

    1.从现有仓库克隆 git clone git://github.com/schacon/grit.git 2.检查当前文件状态 git status 3.跟踪新文件 git add XXX 4.忽略 ...

  6. Git初始化本地仓库及管理远程仓库github

    1.首先在本地安装git,地址:https://git-scm.com/downloads.下载安装好git工具. 2.将自己在github上的注册的用户名和邮箱写入本地git的配置文件中: (1). ...

  7. Git 远程仓库的管理和使用

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  8. git使用——远程仓库(Remote repositories)

    前言 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库. 远程仓库是指托管在因特网或其他网络中的你的项目的版本库. 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写. 与 ...

  9. github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站

    github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...

随机推荐

  1. TeamWork#3,Week5,Scrum Meeting 11.16

    到目前为止各方面工作已经基本完成,爬虫程序也调整完毕,正在等待全部整合. 成员 已完成 待完成 彭林江 完成爬虫结构调整 新爬虫与服务器连接 郝倩 完成爬虫结构调整 新爬虫与服务器连接 高雅智 重定位 ...

  2. MFC按钮、列表控件应用实例(一)

    需求:实现张三.李四.王五 3 人的课程选择,并将选课结果提交到列表框中显示. 实现过程: 1.建立对话框mfc工程. 2.添加控件 tab 顺序 控 件 类 型 控件 ID1 Button IDC_ ...

  3. APP分析----饿了么

    产品      饿了么 选择原因:有了外卖就可以轻松拥有一个不用出门也饿不着的爽歪歪周末. 第一部分 调研, 评测 下载软件并使用起来,描述最简单直观的个人第一次上手体验. 主界面: 第一次上手是大一 ...

  4. 西门子S7系列PLC的主要种类及应用软件

    德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金.化工.印刷生产线等领域都有应用.西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S ...

  5. 个人作业-Week 2

    一.代码复审 概要部分 代码能符合需求和规格说明么? 能: 代码设计是否有周全的考虑? 有较为周全的考虑: 代码可读性如何? 可读性一般: 代码容易维护么? 不太容易维护: 代码的每一行都执行并检查过 ...

  6. HDU 2103 Family planning

    http://acm.hdu.edu.cn/showproblem.php?pid=2103 Problem Description As far as we known,there are so m ...

  7. [转帖]go 的goroutine 以及 channel 的简介.

    进程,线程的概念在操作系统的书上已经有详细的介绍.进程是内存资源管理和cpu调度的执行单元.为了有效利用多核处理器的优势,将进程进一步细分,允许一个进程里存在多个线程,这多个线程还是共享同一片内存空间 ...

  8. Cocos2d入门及第一次运行时遇到的问题

    先通过github下载cocos2d.これ:https://github.com/ZhouWeikuan/cocos2d 进入上面的网址后,如果不会用git或者svn的朋友就在页面的右下角点那个“Do ...

  9. testdisk修复文件系统

    故障修复步骤: 1. 检查磁盘分区级文件系统确实不在: 2. 云主机内部下载testdisk工具修复 yum install testdisk -y 3. 执行命令testdisk /dev/vdc进 ...

  10. jmeter发送json数据,报405、400错误解决方案

    1.405错误解决方案:添加HTTP信息头管理器(错误因数:发送格式未设置) 2.400错误解决方案:json文本格式有误(注意:换行.空格等)解决方案:对照json文本数据(错误因数:发送的json ...