Gitlab搭建教程详解
Gitlab搭建教程详解
拟 制 人:
完成日期:2017-05-11
审 核 人:
审核日期:
修改记录
名称 |
版本号 |
拟制人/ 修改人 |
拟制/修改日期 |
更改理由 |
主要更改内容 (写要点即可) |
Gitlab服务器搭建 |
V1.0 |
2017.05.11 |
初稿 |
无 |
|
注1:每次更改Gitlab配置时,需填写此表。 注2:文件第一撰写时,“更改理由”、“主要更改内容”栏写“无”。 |
系统信息
l 操作系统版本
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
l 硬件信息
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
l Gitlab版本
研发中心目前使用的版本为8.9.5
Rpm包名:gitlab-ce-8.9.5-ce.0.el6.x86_64.rpm
l 下载地址
外网:https://packages.gitlab.com/gitlab/gitlab-ce
Svn: https://192.168.49.250/svn/software/GIT/gitlab/rpm
l 安装依赖项
在 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
l 安装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
l 端口修改
vi /etc/gitlab/gitlab.rb
修改external_url 'http://192.168.x.x:8099'
修改nginx['listen_port'] = 8099
:wq保存退出
l 防火墙修改
vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8099 -j ACCEPT
:wq保存退回
重启防火墙
service iptables restart
l 重新加载配置文件
sudo gitlab-ctl reconfigure
l 访问Gitlab
http://192.168.x.x:8099/
Gitlab使用
l New Group
使用Group把相同类型或者同一小组的Project联合起来管理,方便对人员进行权限控制及管理。
具体如下:
l New Project
在Gitlab中点击右上角 “+” 即可新建项目
Visibility Level:
Private: 只有授权才可以访问(默认选择此项)
Internal:内部人员可以访问(公用项目组可以选择此项)
Public: 匿名用户可以访问
Project选择Internal时Group必须设置为Internal或者Public。如果Group为Private,则Project必须为Private。
Internal项目不会像Private项目一样在首页直接显示,查看方法:
Group→Explore Group
l New User
新员工申请帐号及权限要走OA→SVN&Git申请工作流,默认帐号为邮箱前缀。
Can create group: 此项只有组长以上领导才勾选。
l 修改密码
首次登录gitlab必须强制进行密码修改。默认不少于8位。
Gitlab备份
Gitlab 将所有project打成tar包方式备份
l 备份命令
执行以下命令备份:
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
l 备份目录
备份文件存放在以下目录:
/var/opt/gitlab/backups/1494486030_gitlab_backup.tar
l 定时备份
利用系统命令crontab 进行定时备份
执行crontab -e,输入以下内容
0 9-19/2 * * 1-5 /opt/gitlab/bin/gitlab-rake gitlab:backup:create
:wq保存退出
l 异机备份
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还原
l 停止相关服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
l 从某编号备份中恢复
eg: 从备份文件1494486030_gitlab_backup.tar中恢复,执行以下命令:
gitlab-rake gitlab:backup:restore BACKUP=1494486030
l 启动Gitlab
sudo gitlab-ctl start
l 注意事项
还原后会出现点击project出现500现象,若出现此现象请执行下面命令:
sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
Gitlab搭建教程详解相关推荐
- es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解
注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...
- 直播盒子源码和直播盒子APP搭建教程详解
前言: 直播盒子是最近比较热门的一个词汇,很多人不知道什么是直播盒子:"直播盒子"这个名词的由来与"电视盒子"有一定的关联.就是通过对目标站(专业术语称之为B站 ...
- phpstudy php调试,phpStudy vscode 搭建debug调试的教程详解
下载地址 [Xdebug] zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll xdebug.co ...
- php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解
Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...
- golang导入git包_使用go module导入本地包的方法教程详解
go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...
- linux安装python3教程_linux下安装python3和对应的pip环境教程详解
1.下载python3.6的安装包: 2.解压后,进入到解压目录下,执行如下命令,将python3.6进行编译,如下是将python的环境编译到/usr/local/python3的目录下,注意先创建 ...
- pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解
PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...
- go语言导入git包_使用go module导入本地包的方法教程详解
go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...
- Linux系统下SVN服务器的搭建过程详解 UpJ}s7+
Linux系统下SVN服务器的搭建过程详解 UpJ}s7+ 1 环境: 服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z Z]jSq@%1H* ...
最新文章
- 【JavaScript框架封装】JavaScript中的文本字符串的转义和反转义的实现
- 用java数组模拟登录和注册功能
- (Oracle学习笔记) Oracle概述
- android 通知历史,Android 4.3人性新功能:查看通知历史
- linux解压rar文件权限,linux下使用unrar命令解压*.rar格式文件
- 如何做性能测试的一点思考总结
- 从汇编角度看待函数调用
- 开关电源磁性元件理论及设计pdf_2020年开关电源需求活跃 通讯运营商已多轮集采...
- RDS还原数据库时报错:ERROR 1227 (42000) at line 78664
- 谷歌云TPU上可以用Julia啦!0.23秒跑100张图片,Jeff Dean点赞推荐
- Git log diff config高级进阶
- mybatis多对一,一对一,多对多resultMap映射,pojo映射,传参集合,封装的对象传参
- command shortcut paste
- python机器学习库sklearn——参数优化(网格搜索GridSearchCV、随机搜索RandomizedSearchCV、hyperopt)
- 【Java】HBase_thrift/thrift2_使用指南
- Ubuntu视频教程
- word无法打开请去应用商店_免费PDF转Word技巧
- 《Qt图形界面编程入门》实验
- Rocket Kitten 报告
- 用C#做了个小工具,取名【微图寻码】,可以自动检测微信接收的图片,把含有二维码的图片挑出来,并分类好
热门文章
- LISP多边形形心计算公式_凸多边形形心坐标计算方法
- 软件工程师 简历_如何为软件工程师撰写出色的简历
- mysql explain plan_获取执行计划EXPLAN PLAN
- elementui表格边框错位
- 【尚硅谷 Java Web 笔记】onload事件
- 20200203DLUT寒假训练赛div2-简单搜索专场
- Oracle法人实体的法规类别,Oracle EBS中分类账和法人实体 的关系(有sql语句实例)...
- 你什么都没错,只是太老了。
- autojs之十二圆
- 实现n!+(n-1)!+...+1!