Gitlab搭建教程详解

 

拟 制 人:

完成日期:2017-05-11

审 核 人:

审核日期:

修改记录

名称

版本号

拟制人/

修改人

拟制/修改日期

更改理由

主要更改内容

(写要点即可)

Gitlab服务器搭建

V1.0

2017.05.11

初稿

注1:每次更改Gitlab配置时,需填写此表。

注2:文件第一撰写时,“更改理由”、“主要更改内容”栏写“无”。

 

系统信息

操作系统版本

CentOS release 6.2 (Final)

Kernel \r on an \m

Linux localhost 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22

GMT 2011 x86_64 x86_64 x86_64 GNU/Linux

硬件信息

CPU:

model name : 2 Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz

cpu MHz : 2600.000

cache size : 15360 KB

cpuid level : 13

内存:

MemTotal    : 8062088 kB

硬盘:

文件系统        容量   已用  可用 已用%% 挂载点

/dev/sda3              75G   15G   57G  22% /

tmpfs                 3.9G     0  3.9G   0% /dev/shm

/dev/sda1             194M   25M  160M  14% /boot

/dev/sdb1             197G   48G  140G  26% /work

网卡:

e1000 0000:02:00.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:31:08:3c

e1000 0000:02:00.0: eth0: Intel(R) PRO/1000 Network Connection

e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

eth0: no IPv6 routers present

搭建Gitlab

Gitlab版本

研发中心目前使用的版本为8.9.5

Rpm包名:gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm

下载地址

外网:https://packages.gitlab.com/gitlab/gitlab-ce

Svn: https://192.168.49.250/svn/software/GIT/gitlab/rpm

安装依赖项

在 Centos 6 和 7 系统上,下面的命令将在系统防火墙里面开放HTTP和SSH端口, 请依次执行

sudo yum install curl openssh-server openssh-clients postfix cronie

sudo service postfix start

sudo chkconfig postfix on

sudo lokkit -s http -s ssh

安装rpm

cd 进入到gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm所在目录,执行以下命令:

rpm -i gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm

启动Gitlab

端口修改

vi /etc/gitlab/gitlab.rb

修改external_url 'http://192.168.x.x:8099'

修改nginx['listen_port'] = 8099

:wq保存退出

防火墙修改

vi /etc/sysconfig/iptables

添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8099 -j ACCEPT

:wq保存退回

重启防火墙

service iptables restart

重新加载配置文件

sudo gitlab-ctl reconfigure

访问Gitlab

http://192.168.x.x:8099/

Gitlab使用

New Group

使用Group把相同类型或者同一小组的Project联合起来管理,方便对人员进行权限控制及管理。

具体如下:

New Project

在Gitlab中点击右上角 “+” 即可新建项目

Visibility Level:

Private: 只有授权才可以访问(默认选择此项)

Internal:内部人员可以访问(公用项目组可以选择此项)

Public: 匿名用户可以访问

Project选择Internal时Group必须设置为Internal或者Public。如果Group为Private,则Project必须为Private。

Internal项目不会像Private项目一样在首页直接显示,查看方法:

Group→Explore Group

New User

新员工申请帐号及权限要走OA→SVN&Git申请工作流,默认帐号为邮箱前缀。

Can create group: 此项只有组长以上领导才勾选。

修改密码

首次登录gitlab必须强制进行密码修改。默认不少于8位。

Gitlab备份

Gitlab 将所有project打成tar包方式备份

备份命令

执行以下命令备份:

/opt/gitlab/bin/gitlab-rake gitlab:backup:create

备份目录

备份文件存放在以下目录:

/var/opt/gitlab/backups/1494486030_gitlab_backup.tar

定时备份

利用系统命令crontab 进行定时备份

执行crontab -e,输入以下内容

0 9-19/2 * * 1-5 /opt/gitlab/bin/gitlab-rake gitlab:backup:create

:wq保存退出

异机备份

1.利用rsync命令对备份目录进行同步,此任务只是把主服务器备份的tar包同步过来,执行以下定时任务命令(需要提前配置好rsync):

30 9-19/2 * * *  rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass backup@192.168.6.102::gitlab /var/opt/gitlab/backups/

2.进行数据同步

5 10-22/2 * * * rsync -vzrtopg --progress --delete --password-file=/etc/rsync_client.pass backup@192.168.6.102::opt_gitlab /opt/gitlab
5 10-22/2 * * * rsync -vzrtopg --progress --delete --exclude backups/ --password-file=/etc/rsync_client.pass backup@192.168.6.102::var_opt_gitlab /var/opt/gitlab

Gitlab还原

停止相关服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

从某编号备份中恢复

eg: 从备份文件1494486030_gitlab_backup.tar中恢复,执行以下命令:

gitlab-rake gitlab:backup:restore BACKUP=1494486030

启动Gitlab

sudo gitlab-ctl start

注意事项

还原后会出现点击project出现500现象,若出现此现象请执行下面命令:

sudo gitlab-rails runner  "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"

Gitlab搭建教程详解相关推荐

  1. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解

    注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...

  2. 直播盒子源码和直播盒子APP搭建教程详解

    前言: 直播盒子是最近比较热门的一个词汇,很多人不知道什么是直播盒子:"直播盒子"这个名词的由来与"电视盒子"有一定的关联.就是通过对目标站(专业术语称之为B站 ...

  3. phpstudy php调试,phpStudy vscode 搭建debug调试的教程详解

    下载地址 [Xdebug] zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll xdebug.co ...

  4. php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解

    Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...

  5. golang导入git包_使用go module导入本地包的方法教程详解

    go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...

  6. linux安装python3教程_linux下安装python3和对应的pip环境教程详解

    1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译到/usr/local/python3的目录下,注意先创建 ...

  7. pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解

    PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...

  8. go语言导入git包_使用go module导入本地包的方法教程详解

    go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...

  9. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

最新文章

  1. 【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现
  2. 用java数组模拟登录和注册功能
  3. (Oracle学习笔记) Oracle概述
  4. android 通知历史,Android 4.3人性新功能:查看通知历史
  5. linux解压rar文件权限,linux下使用unrar命令解压*.rar格式文件
  6. 如何做性能测试的一点思考总结
  7. 从汇编角度看待函数调用
  8. 开关电源磁性元件理论及设计pdf_2020年开关电源需求活跃 通讯运营商已多轮集采...
  9. RDS还原数据库时报错:ERROR 1227 (42000) at line 78664
  10. 谷歌云TPU上可以用Julia啦!0.23秒跑100张图片,Jeff Dean点赞推荐
  11. Git log diff config高级进阶
  12. mybatis多对一,一对一,多对多resultMap映射,pojo映射,传参集合,封装的对象传参
  13. command shortcut paste
  14. python机器学习库sklearn——参数优化(网格搜索GridSearchCV、随机搜索RandomizedSearchCV、hyperopt)
  15. 【Java】HBase_thrift/thrift2_使用指南
  16. Ubuntu视频教程
  17. word无法打开请去应用商店_免费PDF转Word技巧
  18. 《Qt图形界面编程入门》实验
  19. Rocket Kitten 报告
  20. 用C#做了个小工具,取名【微图寻码】,可以自动检测微信接收的图片,把含有二维码的图片挑出来,并分类好

热门文章

  1. LISP多边形形心计算公式_凸多边形形心坐标计算方法
  2. 软件工程师 简历_如何为软件工程师撰写出色的简历
  3. mysql explain plan_获取执行计划EXPLAN PLAN
  4. elementui表格边框错位
  5. 【尚硅谷 Java Web 笔记】onload事件
  6. 20200203DLUT寒假训练赛div2-简单搜索专场
  7. Oracle法人实体的法规类别,Oracle EBS中分类账和法人实体 的关系(有sql语句实例)...
  8. 你什么都没错,只是太老了。
  9. autojs之十二圆
  10. 实现n!+(n-1)!+...+1!