Ubuntu Server 16.04安装GitLab服务器笔记

引言
从SVN说起,想必很多人是从SVN开始进行代码版本管理的,后来有了GitHub,GitHub如果不是开源项目的话是需要付费使用,所以选择使用GitLab,采用在内网搭建GitLab服务的方式,在安装之前,先来说说Git和SVN的区别。
1.Git是分布式的,SVN不是:
这是Git和其它非分布式的版本控制系统(例如SVN,CVS等)最核心的区别。声明下,GIT并非目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。
2.GIT把内容按元数据方式存储,而SVN是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

3.GIT分支和SVN的分支不同:
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。

然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。

4.GIT没有一个全局的版本号,而SVN有
目前为止这是跟SVN相比GIT缺少的最大的一个特征,SVN的版本号实际是任何一个相应时间的源代码快照。我认为它是从CVS进化到SVN的最大的一个突破。

5.GIT的内容完整性要优于SVN:
GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

一个研发队伍的成员正常包括:需求分析、设计、美工、程序员、测试、实施、运维,每个成员在工作中都有产出物, 包括了文档、设计代码、程序代码,这些都需要按项目集中进行管理的。SVN能清楚的按目录进行分类管理, 使项目组的管理处于有序高效的状态,SVN更适用于项目管理, Git更适用于代码管理。

安装过程:

1.硬件环境
系统:Ubuntu Server 16.04LTS
内存:8G
磁盘:1T
本系统上还安装了 kubernetes docker等。
2.软件环境
Gitlab:参考 :根据官网文档翻译而来,并实际进行安装体验

在线安装Gitlab

1.更新软件源并安装依赖

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates

2.安装Postfix邮件通知服务(如果这里不安装,也可在安装完gitlab后进行配置)

sudo apt-get install -y postfix

在Postfix安装期间,可能会出现配置屏幕。选择“Internet Site”并按Enter键。使用服务器的外部DNS作为“邮件名称”,然后按Enter键。如果出现其他屏幕,请继续按Enter键接受默认值。
3.添加GitLab软件包存储库并安装软件包
添加gitlab包存储库

企业版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
免费版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

安装gitlab

sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ee

如果下载比较慢:则把EXTERNAL_URL="http://gitlab.example.com"去掉再执行。

安装完会出现成功提示。看到后是不是很赞!!!

初始化 gitlab命令:

sudo gitlab-ctl reconfigure
//经过一系列的执行过程即可成功

到这个步骤就都安装完了。中间会有几个问题。当Http访问本机服务的时候会报502的错误—端口有可能被占用。
记得进行如下修改:
GitLab在使用的过程中,会开启80端口,如果80端口被其他的应用程序占用,则GitLab的该项服务不能使用,所以访问GitLab会失败。大多数皆是此问题。
还要注意gitlab还要使用8080端口,因此要注意可以把gitlab端口改为别的无服务占用的端口。
改gitlab端口:
1.vim /etc/gitlab/gitlab.rb
unicorn[‘port’] = 9091 #9091以下不生效

gitlab_workhorse[‘auth_backend’] = “http://localhost:9091”

nginx[‘listen_port’] = 9099
把前面的注释#去掉。换成想要的端口。

2.vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen “127.0.0.1:9090”, :tcp_nopush => true
修改默认的gitlab nginx的web服务80端

3.vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
listen *:9099;
4. 修改超时时间
gitlab_rails[‘webhook_timeout’] = 90
刷新配置
gitlab-ctl reconfigure
重新启动gitlab
gitlab-ctl restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值