gitlab简介配置和参数修改
一、Gitlab基本简介
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面进行访问公开的或者私人项目,非常适合在团队内部使用。
在gitlab中有三个版本,分别是CE(社区版)、EE(企业版)、OM(RPM包完整版,里面包括nginx、redis等其它软件,比较大)。这里的编译安装版,是指CE版的源码安装,官网https://docs.gitlab.com/。
二、Gitlab(Github)与git
Gitlab和Git是两回事。Git是版本控制系统,Github是在线的基于Git的代码托管服务
Gitlab提供的功能:
代码托管服务
访问权限控制
问题跟踪,bug的记录和讨论
代码审查,可以查看、评论代码
社区版基于 MIT License开源完全免费
Gitlab Community Edition 镜像使用帮助文档:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/
三、Gitlab安装
1、环境要求
#CPU
1核心的CPU,基本上可以满足需求,大概支撑100个左右的用户,不过在运行GitLab网站的同时,还需要运行多个worker以及后台job,显得有点捉襟见肘了。
两核心的CPU是推荐的配置,大概能支撑500个用户.
4核心的CPU能支撑 2,000 个用户.
8核心的CPU能支撑 5,000 个用户
#memory
你需要至少4GB的可寻址内存(RAM交换)来安装和使用GitLab!操作系统和任何其他正在运行的应用程序也将使用内存,因此请记住,在运行GitLab之前,您至少需要4GB的可用空间。使用更少的内存GitLab将在重新配置运行期间给出奇怪的错误,并在使用过程中发生500个错误.
1GBRAM + 3GB of swap is the absolute minimum but we strongly adviseagainst this amount of memory. See the unicorn worker section belowfor more advice.
2GBRAM + 2GB swap supports up to 100 users but it will be very slow
4GBRAM isthe recommended memory size for all installations and supportsup to 100 users
#Database
PostgreSQL ,MySQL/MariaDB
强烈推荐使用PostgreSQL而不是MySQL/ MariaDB,因为GitLab的所有功能都不能与MySQL/ MariaDB一起使用。例如,MySQL没有正确的功能来以有效的方式支持嵌套组.
运行数据库的服务器应至少有5-10 GB的可用存储空间,尽管具体要求取决于GitLab安装的大小
#Node exporter
节点导出器允许您测量各种机器资源,如内存,磁盘和CPU利用率。默认端口9100
2、安装
1) 关闭selinux和相关基本配置
#下面的命令实现永久关闭SELinux(/etc/selinux/config)需要重启系统之后生效
第7行 SELINUX=permissive
#下面的命令实现临时关闭SELinux
[root@git ~]# getenforce #查看selinux状态
[root@git ~]# setenforce / #切换selinux状态
#永久修改下主机名,需要重启系统之后生效
Redhat7中修改
[root@noede1 ~]# vi /etc/hostname
gitlab.server.com
#添加域名
[root@git ~]#cat /etc/hosts
192.168.201.131 gitlab.server.com
2) 关闭防火墙
Redhat6
[root@git yum.repos.d]# iptables -F #临时关闭
[root@git yum.repos.d]# service iptables stop #关闭防火墙服务
[root@git yum.repos.d]# chkconfig iptables off #禁用防火墙
[root@git yum.repos.d]# chkconfig iptables --list Redhat7
systemctl stop firewalld.service
也可以这样:systemctl enable sshd
systemctl start sshd
firewall-cmd -permanet -add-service=http
systemctl reload firewalld
3)gitlab有两种安装方式,一种yum安装,一种rpm安装
yum安装
[root@git yum.repos.d]# vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=
gpgcheck=
enabled=
gpgkey=https://packages.gitlab.com/gpg.key
如果想要在centos6系列上安装,只需把el7修改成el6 更新本地yum缓存
yum makecache
Gitlab安装方式
yum install -y curl policycoreutils-python openssh-server openssh-clients
yum install –y gitlab-ce
###也可以指定版本号 例如:yum install –y gilab-ce-10.3.3
rpm包安装(此处采用RPM包安装)
优点:安装过程简单,安装速度快。采用rpm包安装方式,安装的软件包便于管理。
缺点:数据库默认采用PostgreSQL,服务器默认采用Nginx,不容易定制
可以单独下载rpm包http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
rpm -ivh gitlab-ce-8.8.0-ce.0.el6.x86_64.rpm
rpm 安装Gitlab的默认位置在/opt下
4) 修改配置文件,GitLab默认会占用80
、8080
和9090
端口,很不巧,Jenkins默认也会使用8080端口,所以,这一步操作将会修改GitLab的默认端口为11000
、11001
和11002
,如果你还是希望使用默认端口的话,可以跳过这一步
vim /etc/gitlab/gitlab.rb
external_url='http://gitlab.server.com'
external_ur=‘修改成自己的ip或者域名’external_url 'http://<你的服务器地址或域名>:11000'
# unicorn['port'] = 8080
----> unicorn['port'] = 11001
#prometheus['listen_address'] = 'localhost:9090'
---> prometheus['listen_address'] = 'localhost:11002'
本次配置中在/etc/hosts定义了域名为gitlab.service.com
#修改配置文件之后,需要重新启动配置文件使之生效。
gitlab-ctl reconfigure
6) 启动Gitlab服务
#启动服务
# gitlab-ctl start
#停止服务
# gitlab-ctl stop
#重启服务
# gitlab-ctl restart
#状态
#gitlab-ctl status
#监控
#gitlab-ctl tailunicorn 监控unicorn日志
#gitlab-ctl tail
7) 登陆gitlab
访问地址http://ip
由于第一次登陆,需要设置密码(这里的密码是管理员密码,管理员账号是root)
8) Gitlab命令使用
start 启动所有服务
stop 关闭所有服务
restart 重启所有服务
status 查看所有服务状态
tail 查看日志信息
service-list 列举所有启动服务
graceful-kill 平稳停止一个服务
reconfigure 修改配置文件后需要重新加载
show-config 查看所有服务配置文件信息
uninstall 卸载这个软件
cleanse 删除gitlab数据
Gitlab配置详解
gitlab配置文件 /etc/gitlab/gitlab.rb
unicorn配置文件 /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
nginx配置文件 /var/opt/gitlab/nginx/conf/gitlab-http.conf
gitlab仓库默认位置 /var/opt/gitlab/git-data/repositories
四、卸载Gitlab
停止gitlab
Gitlab-ctl stop 查看Gitlab 安装包
rpm –qa | grep gitlab 删除gitlab
rpm –e gitlab-ce 查看gitlab 进程
ps aux | grep gitlab 杀掉所有gitlab 进程
Kill – 进程号 删除所有包含gitlab文件
find / -name | grep gitlab rm -rf
五、中文版安装
#Yum 安装gitlab10.3.3
yum -y localinstall https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.3.3-ce.0.el7.x86_64.rpm vim /etc/gitlab/gitlab.rb gitlab-ctl reconfigure
# 清空缓存
gitlab-rake cache:clear RAILS_ENV=production
#从新启动gitlab
gitlab-ctl restart
#查看gitlab版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
#克隆 GitLab.com 仓库
git clone https://gitlab.com/xhang/gitlab.git
cd gitlab/
#查看对应的汉化版本号
git tag
#对比不同,这里比较的是tag,v9..6为英文原版,v9.2.6-zh为汉化版本。diff结果是汉化补丁。
git diff v10.3.3..v10.3.3-zh > /tmp/10.3..diff
#停止gitlab
gitlab-ctl stop #应用汉化补丁
cd /opt/gitlab/embedded/service/gitlab-rails
git apply /tmp/10.3..diff
gitlab-ctl start
gitlab-ctl reconfigure
gitlab-ctl start
gitlab简介配置和参数修改的更多相关文章
- gitlab简介与配置
版本控制介绍 版本控制是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一. 版本控制最主要的功能就是追踪文件的变更.它将什么时候.什么人更改了文件的什么 ...
- Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)
Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB).本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB).1. 配置CDB中的实例 ...
- 本地docker搭建gitlab, 并配置ldap认证
基于Docker在Mac OS X系统中的部署和设置GitLab的具体过程如下: 1. 安装Docker for Mac (参见https://docs.docker.com/docker-for ...
- 01 . GitLab简介及环境部署
GitLab简介 最初,该产品名为GitLab,是完全免费的开源软件,按照MIT许可证分发. 2013年7月,产品被拆分为:GitLabCE(社区版)和GitLabEE(企业版),当时,GitLabC ...
- Gerrit与Gitlab同步配置replication&其他配置
一.Gerrit与Gitlab同步配置 当配置好gerrit环境后,还需要与现有gitlab库进行同步配置,否则会影响现有开发与打包流程. 1.安装gerrit replication插件 unzip ...
- Sybase配置数据库参数
Sybase配置数据库参数参数配置的两种方法:sp_configure ‘参数名称’,参数值修改参数文件(如:Sybase主机上的 %SYBASE%\servername.cfg) 配置Sybase数 ...
- 自建 Gitlab (邮箱配置、拆分 PostgreSQL、Redis) + 随想
前言 最近折腾了一番自建 gitlab,在此做个记录,供君参考.整个构建过程基于 Docker Swarm(近期有计划将微服务移植到 Kubernetes,但还没倒腾顺手,暂时先沿用旧的方案),主题配 ...
- 11.2.0.4rac service_name参数修改
环境介绍 )客户环境11. 两节点 rac,集群重启后,集群资源一切正常,应用cs架构,连接数据库报错,提示连接对象不存在 )分析报错原因,连接数据库方式:ip:Port/service_name方式 ...
- Oracle参数修改是否需要重启等
Oracle参数修改小结Oracle中有些参数是可以在session级别修改,有些则必须在system级别修改,有些参数不需要重启就能马上生效,有些参数必须重启才能生效,那么如何知道这些信息呢?可以从 ...
随机推荐
- Sunday算法模板
Sunday是一个线性字符串模式匹配算法.算法的概念如下: Sunday算法是Daniel M.Sunday于1990年提出的一种字符串模式匹配算法.其核心思想是:在匹配过程中,模式串并不被要求一定要 ...
- Json字符串转excel表格文件
假如我们有一段json串,该json串是由一系列结构相同的数据集合组成,如下: { "data": [ { "groupId": "com.test. ...
- POJ 1739 Tony's Tour (插头DP,轮廓线DP)
题意:给一个n*m的矩阵,其中#是障碍格子,其他则是必走的格子,问从左下角的格子走到右下角的格子有多少种方式. 思路: 注意有可能答案是0,就是障碍格子阻挡住了去路. 插头DP有两种比较常见的表示连通 ...
- COGS 1786. 韩信点兵
★★★ 输入文件:HanXin.in 输出文件:HanXin.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 韩信是中国军事思想“谋战”派代表人物,被后人奉为“ ...
- ABAP,Java, nodejs和go语言的web server编程
ABAP and Java see my blog. nodejs 用nodejs现成的express module,几行代码就能写个server出来: var express = require(' ...
- iOS 查看包架构信息
lipo -info libUMSocial_Sdk_4.2.a 查看包架构信息
- Sublime 设置移动光标快捷键
发现问题 在使用Sublime和其他编辑器一个很不爽的问题是:在输入一个函数或者有左右的符号或者在引号内时,总是要跳出来,无奈方向键又在主键盘的另一边,只能不断的切换,太特么操蛋,就不能让手指不离开主 ...
- Asp.Net Core 入门(十)—— 模型绑定和验证
模型绑定时将Http请求中的数据映射到控制器操作方法上对应的参数,操作方法中的参数可以是简单类型,如整形,字符串等,也可以是复杂类型,如Product,Order等. Asp.Net Core MVC ...
- 获取 request 中 json 数据
import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** * request 对象的相关操作 * @a ...
- java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码
补充聊天项目功能,做如下需求分析: 梳理项目开发所需的必要Java知识基础 GUI将使用更快速的swt实现 SWT(Standard Widget Toolkit) Standard Widget T ...