一、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. 详解ASP.NET缓存机制

    文中对ASP.NET的缓存机制进行了简述,ASP.NET中的缓存极大的简化了开发人员的使用,如果使用得当,程序性能会有客观的提升.缓存是在内存存储数据的一项技术,也是ASP.NET中提供的重要特性之一 ...

  2. Cuda入门笔记

    最近在学cuda ,找了好久入门的教程,感觉入门这个教程比较好,网上买的书基本都是在掌握基础后才能看懂,所以在这里记录一下.百度文库下载,所以不知道原作者是谁,向其致敬! 文章目录 1. CUDA是什 ...

  3. 再谈Android AsyncTask的优缺点

    导语:之前做习惯了Framework层的开发,今天在武汉斗鱼公司面试APP客户端的开发,其中一道题是讲述Asynctask的优缺点,我靠,我只是知道有这么一个东西,会用而已,看来之前的生活太过于安逸, ...

  4. SQL问题:未启用当前数据库的 SQL Server Service Broker

    数据库分离后,附加回到数据库,然后在程序中打开调用数据库的页面,出现如下问题:“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持.如果希望使用通知,请为此数 ...

  5. java字符串拼接技巧(StringBuilder使用技巧)

    在平时的开发中,我们可能会遇到需要拼接如下格式的字符串(至少我是遇到了很多次): 1,2,3,4,5,6,7,8,9,10,11,12,12,12,12,34,234,2134,1234,1324,1 ...

  6. 基于51单片机个LCD1602的万年历程序

    小白 第一次跟新博客 基于51单片机和LCD1602的万年历程序 可实现走时和调时功能 有简单的1602菜单制作 欢迎大家交流 LCD1602和51单片机的连接方法 RS = P3^5; //数据/命 ...

  7. Objective-C相关Category的收集(更新)

    Categories是给你得不到源码的classes增加功能的一种方法.这个页面收集一些相关的Category,并且持续更新,你可以订阅关注.作者是Fille ?str?m,是@ IMGNRY的联合创 ...

  8. jquery插件serializeFormToObject

    $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() ...

  9. gdb插件使用方法

    0x00 peda peda 安装: git clone https://github.com/longld/peda.git ~/peda echo "source ~/peda/peda ...

  10. uilabel自动换行

    NSString *str = @"我是一asdf我是一我是一我是一我是一我是一我是一我是一我是一我是一我是一我是一asdf我是一asdf我是一asdf我是一asdf我是一asdf我是一as ...