Git7:使用Gitlab管理远程仓库

[toc]

1、安装

gitlab的源码安装极其复杂,如果要尝试源码安装可以参考如下文档: https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

也可以参考:http://54im.com/git/centos6-install-gitlab-ldap%e8%ae%a4%e8%af%81.html

rpm包的安装可以参考官网: https://about.gitlab.com/downloads/

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

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

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

2、gitlab基本配置

1# cat /etc/gitlab/gitlab.rb 2 3external_url 'http://git.hongxin.com' #指定gitlab服务器地址 4nginx['enable'] = false #不启用gitlab自带的nginx 5#nginx['listen_addresses'] = ['192.168.1.202'] #gitlab的nginx监听地址 6unicorn['port'] = 8080 #修改unicorn的默认端口,即gitlab服务的默认端口。可启用此端口,而关闭gitlab自带的nginx,使用其他nginx来代理该端口 7gitlab_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发送邮件

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

3.2、使用邮件发送模板

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

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

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

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

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

4、启用gitlab的https

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

5、更改仓库存储路径

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

5.1、新仓库修改存储路径

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

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

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

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

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

6、gitlab数据备份与恢复

6.1、备份

gitlab备份的计划任务:

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

gitlab修改备份路径:

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

6.2、恢复

停止相关数据连接服务:

1gitlab-ctl stop unicorn 2gitlab-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'

然后执行:

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

8、gitlab查看日志

gitlab-ctl tail
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )