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. STM32F1-GPIO的操作

    GPIO 即通用输入输出口.凡事都要熟悉,熟能生巧.一定要掌握MDK软件的工程操作方法. 对于GPIO的操作. Project里面要有以下几个文件夹(开发之前需要包含相应的库文件,这里默认已经包含) ...

  2. 一种简单的生产环境部署Node.js程序方法

    最近在部署Node.js程序时,写了段简单的脚本,发觉还挺简单的,忍不住想与大家分享. 配置文件 首先,本地测试环境和生产环境的数据库连接这些配置信息是不一样的,需要将其分开为两个文件存储 到conf ...

  3. 【原创】运维基础之Docker(5)docker部署airflow

    部署方式:docker+airflow+mysql+LocalExecutor 使用airflow的docker镜像 https://hub.docker.com/r/puckel/docker-ai ...

  4. android端 socket长连接 架构

    看过包建强的<App研发录>之后对其中的基础Activity类封装感到惊讶,一直想找一种方式去解决关于app中使用socket长连接问题,如何实现简易的封装来达到主活动中涉及socket相 ...

  5. hbase搭建

    0. 软件版本下载 http://mirror.bit.edu.cn/apache/hbase/   1. 集群环境 Master 172.16.11.97 Slave1 172.16.11.98 S ...

  6. nginx 配置白名单

    在http 模块 增加 geo $remote_addr $ip_whitelist{ default 0; include white_ip.conf; } 在location 模块 增加 (注意i ...

  7. 10分钟了解Android的事件分发

    什么是事件分发? 大家知道Android中的视图是由一个个View嵌套构成的层级视图,即一个View里包含有子View,而这个子View里面又可以再添加View.当用户触摸屏幕产生一系列事件时,事件会 ...

  8. Confluence 6 手动备份

    Confluence 的 Attachment Storage Configuration 可以配置 Confluence 将附件存储在  home directory,或者是存储在数据库中. Dat ...

  9. Linux基础实操一

    开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符 使用命令退出虚拟终端2上登录的用户 使用快捷键切 ...

  10. 《剑指offer》从上往下打印二叉树

    本题来自<剑指offer> 从上往下打印二叉树 题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路: 队列的思想. 先将根节点加入,当取该节点时候,依次将左右子树加入,直 ...