Gitlab概述:

一个利用Ruby on Rails开发的开元应用程序,从而实现一个代码托管项目仓库,可以通过web界面进行访问公开的或者私有的项目

Ruby on Rails是一个可以使开发,部署,维护web应用程序变得简单的框架

Gitlab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问,非常易于浏览提交过的版本并提供一个文件历史库,另外还提供了一个代码片段收集功能,可以轻松的实现代码复用,便于日后需要的时候可以进行查找

【GItlab和GitHub区别】

相同点:两者都是基于web的GIt仓库,在很多大程度上Gitlab是模仿github来做的,都是分享开源项目的平台,为开发团队提供了存储,分享,发布以及合作开发项目的中心化云存储的场所

不同点:GitHub在使用私有仓库需要收费的,而Gitlab可在在上面创建免费的私有仓库,另外Gitlab对于开发团队来说,拥有很多的控制权限;

相对于github,有着更多的特色,如免费甚至仓库权限,允许用户选择分享一个project的部分代码;允许用户设置project的获取权限从而进一步提升安全性;可以有选择性的控制访问权限;

代码性能方面:如果不希望公司员工获取全部的代码,这个时候Gitlab是最好的首选,如果是个人开源项目而言,Github是代码托管的首选

【Git相关的概念】

git:是一个版本控制系统,也是一个命令工具

gitlib:用于实现git功能的开发库

github:一个基于git实现的在线代码托管仓库,包含一个网站界面,开放面广

gitlab:一个基于git实现的在线代码托管仓库,一般用于企业内网搭建git私服

PS:Gitlab-ce社区版本;gitlab-ee是企业版,收费

【部署】

[root@gitlab ~]# yum install curl policycoreutils  policycoreutils-python openssh-server openssh-clients postfix -y

[root@gitlab ~]# wget --content-disposition https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.7.4-ce.0.el7.x86_64.rpm

[root@gitlab ~]# rpm -ivh  gitlab-ce-10.7.4-ce.0.el7.x86_64.rpm

[root@gitlab ~]# gitlab-ctl reconfigure     #重新加载配置应用程序,进行初始化

[root@gitlab ~]# gitlab-ctl status    #查看gitlab状态

[root@gitlab ~]# sed -i 's#gitlab.example.com#192.168.37.135#g' /etc/gitlab/gitlab.rb

在这里需要注意,我们安装rpm安装完gitlab之后,安装位置在哪呢?我们可以通过rpm -qpl gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm | more查看即可

到此为止gitlab安装成功~

Ps:首次登陆默认需要修改root密码,修改完之后即可使用root登陆

【汉化Gitlab】

[root@gitlab ~]# gitlab-ctl stop

root@gitlab ~]# git clone https://gitlab.com/xhang/gitlab.git

[root@gitlab ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 10.7.4

[root@gitlab ~]# cd gitlab

[root@gitlab gitlab]# git diff v10.7.4 v10.7.4-zh > ../v10.8.4-zh.diff      #比较原版本号和汉化版本之前的区别,并把有区别的文件导出到解压目录下 

[root@gitlab gitlab]# yum install -y patch

[root@gitlab gitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails/ -p1 < /root/v10.8.4-zh.diff    #该目录下面存放着web前端页面,我们需要将汉化补丁打上

[root@gitlab gitlab]# gitlab-ctl restart       #重启服务生效

举个简单的实例

创建文件 代码提交到Gitlab的项目,随后在克隆到网站页面

提交之后

企业级代码托管Gitlab的更多相关文章

  1. 有手就行——Jenkins介绍 及 Gitlab代码托管服务器安装

    Jenkins 介绍 及 Gitlab代码托管服务器安装 Gitlab安装 源码上传到Gitlab仓库 Jenkins介绍 Jenkins 是一款流行的开源持续集成(Continuous Integr ...

  2. 程序员必须知道的几个Git代码托管平台

    上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...

  3. git push上传代码到gitlab上,报错401或403

    之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...

  4. 程序员必须知道的几个Git代码托管平台(转)

    上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...

  5. 【转】程序员必须知道的几个Git代码托管平台

     一.VS2013中克隆远程Git仓库和SSH的配置 1.VS2013中克隆远程项目  首先感谢园友的评论和补充,今日又仔细看了一下,VS2013中是可以克隆项目的,只是我一直用的GitHub来克隆的 ...

  6. 代码托管工具 git

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  7. 代码托管-gerrit-介绍与环境搭建

    什么是gerrit? 转载自 https://blog.csdn.net/tanshizhen119/article/details/79874127 gerrit是谷歌开源的一个git服务端. 主要 ...

  8. Git系列②之部署企业级开源仓库gitlab服务器

    Git系列②之部署企业级开源仓库gitlab服务器 上一篇我们介绍了github的常见使用方法,下面开始部署本地开源仓库gitlab GitLab 是一个用于仓库管理系统的开源项目. 1.安装配置gi ...

  9. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

随机推荐

  1. 【原创】Linux基础之Shell脚本常用命令

    #!/bin/sh 1 取脚本参数 $# 参数个数$0 当前脚本名$1 第1个参数$n 第n个参数$* 所有参数$@ 所有参数$? 上个命令的状态$$ 当前pid 2 日期 $ dateWed Mar ...

  2. [C]内存管理、内存泄露、堆栈

    原文地址:https://www.cnblogs.com/youthshouting/p/4280543.html,转载请注明源地址. 1.内存分配区间:         对于一个C语言程序而言,内存 ...

  3. Android应用开发中三种常见的图片压缩方法

    Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法.比例压缩法(根据路径获取图片并压缩)和比例压缩法(根据Bitmap图片压缩). 一.质量压缩法 private Bitmap com ...

  4. Java代码自动部署

    注:本文来源于<it小熊> [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java ...

  5. Windows下安装Confluence并破解汉化

    注:本文来源于<Windows下安装Confluence并破解汉化> 一.事前准备 1:JDK下载并安装:jdk-6u45-windows-i586.exe 2:MySQL JDBC连接驱 ...

  6. Confluence 6 针对大数据量备份

    XML 站点备份的方式只针对 Confluence 包含有几千页面的情况,XML 备份所需要的时间随着数据量的变化而增加.另外的一个问题是 XML 站点的备份将会包含上 G 的附件数据,随着数据量的增 ...

  7. Confluence 6 PostgreSQL 输入你的数据库细节

    在 Confluence 的设置安装向导中,将会指导你 Confluence 如何连接到你的数据库.请确定选择 "My own database". 使用 JDBC 连接(默认) ...

  8. bat如何创建多级文件夹(在android设备中)

    在android设备中要创建多个或者多级文件夹时,手动去创建费时费力(有点傻),一个bat文件就能很好的实现这个功能. 1.首先创建同级多个文件夹且在该文件夹下生成一个文件 @echo off ech ...

  9. Netty简单聊天室

    1.创建maven项目,在pom.xml中引入netty的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xm ...

  10. 1283: 骨牌铺方格(zzuli)

    Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Input ...