企业级代码托管Gitlab
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的更多相关文章
- 有手就行——Jenkins介绍 及 Gitlab代码托管服务器安装
Jenkins 介绍 及 Gitlab代码托管服务器安装 Gitlab安装 源码上传到Gitlab仓库 Jenkins介绍 Jenkins 是一款流行的开源持续集成(Continuous Integr ...
- 程序员必须知道的几个Git代码托管平台
上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...
- git push上传代码到gitlab上,报错401或403
之前部署的gitlab代码托管平台,采用ssh方式连接gitlab,在客户机上产生公钥上传到gitlab的SSH-Keys里,则git clone下载和git push上传都没问题,这种方式很安全. ...
- 程序员必须知道的几个Git代码托管平台(转)
上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...
- 【转】程序员必须知道的几个Git代码托管平台
一.VS2013中克隆远程Git仓库和SSH的配置 1.VS2013中克隆远程项目 首先感谢园友的评论和补充,今日又仔细看了一下,VS2013中是可以克隆项目的,只是我一直用的GitHub来克隆的 ...
- 代码托管工具 git
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- 代码托管-gerrit-介绍与环境搭建
什么是gerrit? 转载自 https://blog.csdn.net/tanshizhen119/article/details/79874127 gerrit是谷歌开源的一个git服务端. 主要 ...
- Git系列②之部署企业级开源仓库gitlab服务器
Git系列②之部署企业级开源仓库gitlab服务器 上一篇我们介绍了github的常见使用方法,下面开始部署本地开源仓库gitlab GitLab 是一个用于仓库管理系统的开源项目. 1.安装配置gi ...
- 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 手写文字识别 ...
随机推荐
- Mysql 的安装(压缩文件)和基本管理
MySql安装和基本管理 本节掌握内容: mysql的安装.启动 mysql破解密码 统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle ...
- 【原创】大叔经验分享(36)CM部署kafka
1 下载kafka parcel http://archive.cloudera.com/kafka/parcels/latest/KAFKA-3.1.1-1.3.1.1.p0.2-el7.parce ...
- mtu简单说明
总结:本地的mtu值==网络设备的mtu值是最优的,一般本地和网络设备的默认值都是1500(字节),没什么特殊需求,尽量不要修改 一.什么是 MTU 值 1 从字面上来说,MTU 是英文 Maxi ...
- sysstat-----获取服务器负载历史记录
sysstat工具与负载历史回放 很多系统负载过高的时候我们是无法立即获知或者立即解决的,当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar命令同样来 ...
- Oracle的AES加密与解密用法
Oracle的AES加密与解密用法2013年12月11日 11:50:35 iteye_751 阅读数:428--加密字符串create or replace function des3_enc( i ...
- Eclipse 软件 Java 解决:出现的editor does not contain a main type错误框 问题
Eclipse 软件 解决:出现的 editor does not contain a main type 错误框 问题 当你运行 Java文件是,如果弹出了下面的 错误框: 出现错误的原因: 当前的 ...
- 自执行匿名函数: (function() { /* code */ })();
1,常见格式:(function() { /* code */ })(); 2,解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括 ...
- PhpStorm 2018 安装及破解方法
参考教程: https://blog.csdn.net/u012278016/article/details/81772566
- python并发编程之多进程2-------------数据共享及进程池和回调函数
一.数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的. 虽然进程间数据独立,但可以用过Manager实现数据共享,事实 ...
- C++ Primer 笔记——命名空间
1.我们既可以用 using 声明整个空间,也可以声明部分名字. using namespace std; using std::cout; 2.头文件不应包含 using 声明,因为头文件会拷贝到所 ...