Git7:使用Gitlab管理远程仓库
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包,直接安装。安装方法如下:
yum install -y postfix
yum install -y cronie
service postfix start
chkconfig postfix on
lokkit -s http -s ssh
curl -O https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.9.4_omnibus.1-1.el6.x86_64.rpm
rpm -vih gitlab-7.9.4_omnibus.1-1.el6.x86_64.rpm
gitlab-ctl reconfigure
安装完成后,在浏览器输入gitlab的IP地址,即可访问,默认帐号密码为:root/5iveL!fe
2、gitlab基本配置
# cat /etc/gitlab/gitlab.rb
external_url 'http://git.hongxin.com' #指定gitlab服务器地址
nginx['enable'] = false #不启用gitlab自带的nginx
#nginx['listen_addresses'] = ['192.168.1.202'] #gitlab的nginx监听地址
unicorn['port'] = 8080 #修改unicorn的默认端口,即gitlab服务的默认端口。可启用此端口,而关闭gitlab自带的nginx,使用其他nginx来代理该端口
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发送邮件
service potfix start
vim /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com' #定义发邮件的邮箱名称,默认使用本机的postfix发送邮件
3.2、使用邮件发送模板
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "完整邮件账户"
gitlab_rails['smtp_password'] = "密码"
gitlab_rails['smtp_domain'] = "邮件账户所在域"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true # 这个很重要,而且是官方文档里没提及的
#修改gitlab配置的发信人,否则会抛出"553 Mail from must equal authorized user"的错误
gitlab_rails['gitlab_email_from'] = '完整邮件账户'
user["git_user_email"] = "xxxxxxx"
3.3、使用腾讯企业邮箱配置发送邮件
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "tech@gongmall.com"
gitlab_rails['smtp_password'] = "tech@gongmall.com的密码"
gitlab_rails['smtp_domain'] = "gongmall.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'tech@gongmall.com'
user["git_user_email"] = "xxxxxxx"
3.4、使用163邮箱来发送gitlab的邮件
# cat /etc/gitlab/gitlab.rb
#配置smtp
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
#配置邮箱帐号密码
gitlab_rails['smtp_user_name'] = "yan_ruo_gu@163.com"
gitlab_rails['smtp_password'] = "xxxxxxx"
#配置邮箱域
gitlab_rails['smtp_domain'] = '163.com'
gitlab_rails['smtp_authentication'] = :login #有的配置成:plain
gitlab_rails['smtp_enable_starttls_auto'] = true #是否开启tls认证
#修改gitlab配置的发信人,否则会抛出"553 Mail from must equal authorized user"的错误
gitlab_rails['gitlab_email_from'] = "yan_ruo_gu@163.com"
user["git_user_email"] = "xxxxxxx"
4、启用gitlab的https
#生成密钥对
cd /etc/gitlab/ssl
openssl genrsa -des3 -out server.key 1024
openssl rsa -in server.key -out server.key #去除server.key的加密口令
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# vim /etc/gitlab/gitlab.rb
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"
gitlab-ctl reconfigure
5、更改仓库存储路径
gitlab默认的仓库路径是/var/opt/gitlab/git-data/repositories,一般服务器上/var的空间不是很足,所以要把仓库配置到其他路径。
5.1、新仓库修改存储路径
如果是刚安装好gitlab,还没开始使用,修改配置即可:
# vim /etc/gitlab/gitlab.rb
git_data_dir "/data/git-data"
5.2、使用了一段时间的仓库修改存储路径
如果gitlab已经在使用,除了修改配置,还需要如下步骤:
gitlab-ctl stop
rsync -av /var/opt/gitlab/git-data/repositories /data/git-data/
# vim /etc/gitlab/gitlab.rb
git_data_dir "/data/git-data"
gitlab-ctl start
gitlab-ctl reconfigure
6、gitlab数据备份与恢复
6.1、备份
gitlab备份的计划任务:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
gitlab修改备份路径:
# vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/mnt/backups'
6.2、恢复
停止相关数据连接服务:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
从指定编号备份中恢复:
gitlab-rake gitlab:backup:restore BACKUP=139351368
启动gitlab:
gitlab-ctl start
6.3、迁移
把备份文件拷贝到gitlab的备份目录下,执行恢复操作即可
7、gitlab头像无法正常显示
在配置文件/etc/gitlab/gitlab.rb中添加如下项:
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
然后执行:
gitlab-ctl reconfigure
gitlab-rake cache:clear RAILS_ENV=production
8、gitlab查看日志
gitlab-ctl tail
Git7:使用Gitlab管理远程仓库的更多相关文章
- git注册到git管理远程仓库
注册: ① 注册github网站:地址:https://github.com/,其中sign up 是注册,sign in是登录 (如果是用QQ邮箱的话,如果觉得收不到邮箱,可能是在垃圾箱哦) ② 之 ...
- 6. Git管理远程仓库
6. Git管理远程仓库 使用远程仓库的目的 作用:备份,实现代码共享集中化管理 Git克隆操作 目的 将远程仓库(github对应的项目)复制到本地 代码 git clone 仓库地址 多学一招:仓 ...
- 本地Git连接GitLab(服务器)远程仓库
1.简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github.gitlab等.为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLa ...
- Git管理远程仓库
一:使用远程仓库的目的 作用:备份,实现代码共享集中化管理: 二:将git本地仓库同步到远程仓库流程图 三:Git克隆操作 目的: 将远程仓库(github远程仓库项目代码)克隆到本地 如何克隆 1. ...
- 使用git管理远程仓库
1.从现有仓库克隆 git clone git://github.com/schacon/grit.git 2.检查当前文件状态 git status 3.跟踪新文件 git add XXX 4.忽略 ...
- Git初始化本地仓库及管理远程仓库github
1.首先在本地安装git,地址:https://git-scm.com/downloads.下载安装好git工具. 2.将自己在github上的注册的用户名和邮箱写入本地git的配置文件中: (1). ...
- Git 远程仓库的管理和使用
要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...
- git使用——远程仓库(Remote repositories)
前言 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库. 远程仓库是指托管在因特网或其他网络中的你的项目的版本库. 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写. 与 ...
- github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站
github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...
随机推荐
- Visual Studio AI配置环境
参考链接:http://www.cnblogs.com/ms-uap/p/9123033.html 背景: 1.能联网的电脑:Win7 64 SP1 2.鼠标.键盘.显示器好使 3.已安装VS2010 ...
- 给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数。
一.题目: n给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数. n要求: n写一个函数 f(N) ,返回1 到 N 之间出现的 “1”的个数.例如 f(12) ...
- 《大象Think in UML》阅读笔记之二
Think in UML阅读笔记(二) 上一次读到面向对象和面向过程的区别和各自的优势,结合实例分析了面向过程在面对大数据的时候,已经不足以满足人们的需求,所以引入了面向对象,面向对象的方法把世界看做 ...
- HDU 4336 Card Collector 期望dp+状压
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4336 Card Collector Time Limit: 2000/1000 MS (Java/O ...
- Sprint Boot入门(1):创建第一个Spring Boot应用
搭建工程 注:建议使用eclipse的STS插件创建Spring项目,而不是下面的Gradle项目,否则会导致有一些Spring文件不存在. new Gradle Project,如下 点next,如 ...
- Gradle入门(4):依赖管理
在现实生活中,要创造一个没有任何外部依赖的应用程序并非不可能,但也是极具挑战的.这也是为什么依赖管理对于每个软件项目都是至关重要的一部分. 这篇教程主要讲述如何使用Gradle管理我们项目的依赖,我们 ...
- Arduino IDE 安装esp8266 2.4.rc2的编译环境
2.4. 版本, 有一个我需要的功能, 串口缓存, 可以修改. Serial.setRxBufferSize(1024); //修改为1024个字节. 安装步骤: 1. 需要FQ. 推荐用" ...
- 关于MUI v0.18.0版本 Table组件里的复选框不能选的解决方案
前段时间在用MUI的时候,Table组件出现复选框不能选的bug(描述: 点击复选框,点击事件会触发,复选框勾选状态无变化). 解决方法: 用CheckBox组件代替Table组件自带的复选框. 解决 ...
- Java基本程序设计结构
一.要求: 1.设平面上有一个m×n 的网格,将左下角的网格点标记为(0,0)而右上角的网格点标记为(m,n).某人想从(0,0)出发沿网格线行进到达(m,n),但是在网格点(i,j)处他只能向上行进 ...
- 蜗牛慢慢爬 LeetCode 5.Longest Palindromic Substring [Difficulty: Medium]
题目 Given a string s, find the longest palindromic substring in s. You may assume that the maximum le ...