Git远程10:搭建私有GitLab

上一篇博文介绍了搭建私有的Git Server。此方式适合小型团队使用,而且项目最好比较单一。如果是人数较多的团队,工程比较多,日常的维护工作量会很大。GitHub和GitLab很好用,但GitHub只能提供Public机制的库。GitLab可以提供Private机制的库,但其速度实在是太慢了。最好的方法是在团队服务器上搭建类似的服务,安全性和服务均可保障,本文介绍如何搭建GitLab服务。

环境和准备工作

操作系统:CentOS6.6
IP地址:192.168.80.6
建立git用户。

12345678
# useradd git# passwd git # 输入git密码Changing password for user git.New password:BAD PASSWORD: it is WAY too shortBAD PASSWORD: is too simpleRetype new password:passwd: all authentication tokens updated successfully.

关闭防火墙。

12
# service iptables stop# chkconfig iptables off

安装依赖库

1234
# yum install curl openssh-server postfix cronie# service postfix start# chkconfig postfix on# lokkit -s http -s ssh

安装GitLab

12
# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash# yum install gitlab-ce

整个包有300多MB,如果使用yum无法下载,可以直接下载RPM包

1
# wget -c https://packages.gitlab.com/gitlab/gitlab-ce/el/6/x86_64/gitlab-ce-7.13.3-ce.1.el6.x86_64.rpm

若还是很慢,复制下载地址用下载工具下载。汪汪的网盘也提供了下载,路径为/GitLab
手动安装rpm包。

1
# rpm -ivh gitlab-ce-7.13.3-ce.1.el6.x86_64.rpm

配置GitLab

直接启动GitLab并不能正常工作,需要进行配置,其所有的配置都在配置文件/etc/gitlab/gitlab.rb中。此文件太长,太多的注释,后期研究可以查看此文档,在此从简配置。

1234
# mv /etc/gitlab/gitlab.rb{,.bck}# echo external_url \'http://192.168.80.6:8081\' >> /etc/gitlab/gitlab.rb# echo gitlab_rails[\'gitlab_email_from\'] = \'higoge@learnit.com\' >> /etc/gitlab/gitlab.rb# echo git_data_dir \"/home/git\" >> /etc/gitlab/gitlab.rb

解释如下:第一个命令是备份配置文件,第二个命令是配置访问IP和端口,第三个命令是发送确认邮件的邮箱(无需真实存在),第四个命令是git的数据dir。
每次修改完配置文件,都需要执行如下命令。

1
# gitlab-ctl reconfigure

测试及注册用户

开启浏览器输入http://192.168.80.6:8081,应该就可以看到主界面了。

按照步骤进行注册,会给注册邮箱发送确认信息邮件。Gmail直接把邮件当垃圾邮件了,不管如何,点击“Confirm your account”,确认即可。

之后就可以创建Project,配置SSH Key,进行Clone和推送拉取了。

新建的项目在服务器的地址是/home/git/repositories/learnit下,每个项目有两个git目录,一个是项目本身的,一个是项目WIKI的。

12
# ls /home/git/repositories/learnitfirstproject.git  firstproject.wiki.git

其他

第一章为了简化配置,我们关闭了防火墙,如有需要,请自行配置防火墙。
关于GitLab的更加详细的配置,请参考GitLab的官方文档
GitLab的免费社区版和收费企业版的区别见此

~~ EOF ~~

时间: 2024-07-29 12:43:51

Git远程10:搭建私有GitLab的相关文章

Git远程09:Git服务搭建

GitHub和Gitlab是最常见的两个免费的Git Server,本博客就是搭建在GitHub上,GitLab没有于GitHub出名,其提供了免费的私有Git库,GitHub的私有库则是收费的.也可以在自己的服务器上搭建Git远程库,推送和拉取的速度比直接使用GitHub快,也不会存在安全性问题,本文介绍相关操作. 环境 操作系统:CentOS6.6 服务器IP地址:192.168.80.6 服务器Git版本:1.7.1 若服务器没有安装Git,请先安装. 1 # yum install gi

[gitlab]搭建私有github仓库

自己机器只有178M内存后面机器实在跑不动了,做到安装MySQL需要的Gems这一步,这里面有几点需要注意一下:1.mysqld在centos中目录/etc/init.d/mysqld start为开启服务 2.本文一直使用sudo命令用名为git账户去创建gitlab  3.需要修改ruby的使用源为淘宝的 4.你的机器内存最好在1G以上,我的只有512m执行bundle命令内存不足.   Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或

docker 搭建私有仓库及镜像存储目录结构

仓库 (Repository)是集中存放镜像的地方, docker 仓库分为公有仓库和私有仓库,然而公有仓库在某些情况下并不适用于公司内部传输,所以在这边我来搭建私有环境的 registry .那私有仓库较公有仓库有以下优点: 省带宽 传输速度快 方便存储 下面我们来创建私有仓库,实现 docker client 通过 docker registry 上传和下载 docker images,最后说下docker registry 的存储方式. 本实验要达到的效果是: 1.docker regis

搭建私有云 谨防陷落三大“沼泽”

本文讲的是搭建私有云 谨防陷落三大"沼泽"[IT168资讯]在纷纷将中小业务迁移到公共云服务的同时,企业们正筹划着如何使用私有云计算来提高现有资源的使用效率.专家们表示,企业运用云计算虽然存在一些不错的最佳实践但也有一些值得注意的误区. 私有云有效地采取内部技术为用户提供可量化的服务,然而可靠性的问题却渐渐浮出水面.根据IDC(位于马萨诸塞州弗瑞明翰的一家研究公司)的高级副总裁兼首席分析师Frank Gens的观点,虽然私有云提供了有效的资源共享方式,但仍有部分IT执行官担心如何在共享

项目实践中--Git服务器的搭建与使用指南(转)

  一.前言 Git是一款免费.开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.在平时的项目开发中,我们会使用到Git来进行版本控制. Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1.从服务器上克隆数据库(包括代码和版本信息)到单机上. 2.在自己的机器上创建分支,修改代码. 3.在单机上自己创建的分支上提交代码. 4.在单机上合并分支. 5.新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并. 6.生成补丁(patch),

docker学习(8) 在mac机上搭建私有仓库

docker的私有仓库类似maven的私服,一般用于公司内部搭建一个类似docker hub的环境,这样上传.下载镜像速度较快,本文将演示如何在mac上利用docker-machine搭建无需SSL证书的私有仓库. 一.查看docker-machine虚拟机IP docker-machine ip default 默认情况下docker-toolbox创建的虚拟机名称为default,如果您的虚拟机名字不是这个,上面命令最后的default换成真实的虚拟机名字,假设default分配的IP为19

git远程仓库复制Symfony框架项目到本地安装

新同事第一次接触Symfony框架项目的时候,不知道Symfony的整个使用流程是怎样的,下面详细介绍(本文在CentOS下演示,windows相同): 默认条件: 本文默认你已经有配置完善的 Apache + PHP + MySQL 运行环境. 1.所需安装软件:git , composer 自行到git和composer官网下载安装. 2.git clone项目 到git远程仓库用HTTPS或者SSH连接方式clone项目到web服务器的根目录,如: [Sun@webserver html]

基于OSS搭建私有 Docker Registry

基于OSS搭建私有 Docker Registry Docker Registry 作为 Docker 的核心组件之一负责了镜像的存储以及分发.用户只需要使用 Docker 的客户端就可以直接和 Registry 进行交互,下载和上传镜像.最初版本的 Registry 由 Python 实现.由于设计初期在安全性,性能以及 API 的设计上有着诸多的缺陷,该版本在 0.9 之后停止了开发.新的项目由 Go 语言开发,所有的API,底层存储方式,系统架构都进行了全面的重新设计已解决上一代 Regi

Git远程操作详解

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解.同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值. 一.git clone 远程操作