一、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默认会占用8080809090端口,很不巧,Jenkins默认也会使用8080端口,所以,这一步操作将会修改GitLab的默认端口为110001100111002,如果你还是希望使用默认端口的话,可以跳过这一步
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简介配置和参数修改的更多相关文章

  1. gitlab简介与配置

    版本控制介绍 版本控制是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一. 版本控制最主要的功能就是追踪文件的变更.它将什么时候.什么人更改了文件的什么 ...

  2. Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)

    Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB).本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB).1. 配置CDB中的实例 ...

  3. 本地docker搭建gitlab, 并配置ldap认证

    基于Docker在Mac OS X系统中的部署和设置GitLab的具体过程如下:   1. 安装Docker for Mac (参见https://docs.docker.com/docker-for ...

  4. 01 . GitLab简介及环境部署

    GitLab简介 最初,该产品名为GitLab,是完全免费的开源软件,按照MIT许可证分发. 2013年7月,产品被拆分为:GitLabCE(社区版)和GitLabEE(企业版),当时,GitLabC ...

  5. Gerrit与Gitlab同步配置replication&其他配置

    一.Gerrit与Gitlab同步配置 当配置好gerrit环境后,还需要与现有gitlab库进行同步配置,否则会影响现有开发与打包流程. 1.安装gerrit replication插件 unzip ...

  6. Sybase配置数据库参数

    Sybase配置数据库参数参数配置的两种方法:sp_configure ‘参数名称’,参数值修改参数文件(如:Sybase主机上的 %SYBASE%\servername.cfg) 配置Sybase数 ...

  7. 自建 Gitlab (邮箱配置、拆分 PostgreSQL、Redis) + 随想

    前言 最近折腾了一番自建 gitlab,在此做个记录,供君参考.整个构建过程基于 Docker Swarm(近期有计划将微服务移植到 Kubernetes,但还没倒腾顺手,暂时先沿用旧的方案),主题配 ...

  8. 11.2.0.4rac service_name参数修改

    环境介绍 )客户环境11. 两节点 rac,集群重启后,集群资源一切正常,应用cs架构,连接数据库报错,提示连接对象不存在 )分析报错原因,连接数据库方式:ip:Port/service_name方式 ...

  9. Oracle参数修改是否需要重启等

    Oracle参数修改小结Oracle中有些参数是可以在session级别修改,有些则必须在system级别修改,有些参数不需要重启就能马上生效,有些参数必须重启才能生效,那么如何知道这些信息呢?可以从 ...

随机推荐

  1. Vue实例的4个常用选项

    1.过滤器 filters:在不改变的data的情况下输出前端页面需要的格式数据.例如将小数过滤为整数等.filters是一个对象,里边定义一个function方法,function传入一个参数,fu ...

  2. IIS 服务器支持下载apk 文件

    前不久,在本地IIS文件下部署一个网站,可以下载apk文件,就是测试apk应用升级,发现访问不能下载,原因是IIS没有配置对这种apk文件的处理程序. 解决方案如下所示: 1.打开IIS, 找到MIM ...

  3. Android学习总结(三)——IntentService的用法

    一.IntentService的基本概念 IntentService是继承于Service并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentServi ...

  4. MIPS汇编程序设计——四则运算计算器

    实验目的 运用简单的MIPS实现一个能够整数加减乘除的计算器,同时使自己更加熟悉这些指令吧 MIPS代码 #sample example 'a small calculater’ # data sec ...

  5. nuxt 初接触

    对于nuxt服务端渲染让人动心的是不会再想vue一样去定义无数的路由了这一点是挺爽的!!! 先直接晒张图 在api这块增加了一个fetch方法   它会在组件每次加载前被调用(即在服务端或切换至目标路 ...

  6. 数据库_6_SQL基本操作——库操作

    SQL基本操作——库操作:对数据库的增删改查 一.新增数据库(创建) 基本语法:create database 数据库名字 [库选项]: 库选项用来约束数据库,分为两个选项:1.字符集设定:chars ...

  7. 利用javascript实现二维数组的筛选

    背景: 在项目中,我需要对解析后的nc文件数据进行筛选,选出符合要求的点,绘制相应的polygon. 代码:ajax获取某一时刻的数据 var url ="/api/config/PostC ...

  8. 【OS_Linux】清空终端屏幕的方法

    使用clear命令或Ctrl+L组合键来清空终端屏幕,它不是真正的清空了,而是给人以错觉,当向上滚动鼠标后发现屏幕的内容依然在. 使用printf '\033c'才真正意义上清空了屏幕,它同DOS下的 ...

  9. curl学习笔记(以php为例)

    一.demo,抓取百度页码代码: $url = 'https://www.baidu.com/'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RE ...

  10. 《零基础入门学习Python》【第一版】视频课后答案第006讲

    python中被看作假:FALSE  none 0  ‘ ’  " "  ( ) [ ] { },其他一切都被解释为真 测试题答案: 0.Python 的 floor 除法现在使用 ...