搭建 GitLab 服务器 ( CTO 必会)

GitLab 简介#

GitLab 是利用 Ruby On Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 GitHub 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall) 进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitHub 它是一个开源的社区, 如果你想把你们公司的项目放在上面就得交钱, 如果不交钱就得开源, 而 GitLab 是一个本地的项目管理仓库, 既然是本地那么想怎么玩就怎么玩儿

优点#

  • * 社区版基于 MIT License 开源完全免费 *
  • * 无用户,协作和仓库限制 *
  • * 保护项目源码安全 *
  • 管理仓库,用户与访问权限

资料#

安装#

1). 安装和配置必要的依赖

如果你安装 PostFix 发送邮件,如果你不需要邮件发送,可以跳过直接看第二步,请选择 网站设置 中。而不是使用后缀也可以使用道具或配置自定义 SMTP 服务器和它配置为 SMTP 服务器。在 CentOS 的 6 和 7,下面的命令将在系统防火墙打开 HTTPSSH 访问。

sudo apt-get install curl openssh-server ca-certificates postfix  

2). 切换清华大学镜像

首先信任 GitLabGPG 公钥

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null  

再选择你的 Debian/Ubuntu 版本,文本框中内容写进 /etc/apt/sources.list.d/gitlab-ce.list ubuntu14.04 如下 其他版本请跳转 国内镜像 查看 /etc/apt/sources.list.d/gitlab-ce.list 这个文件默认不存在 你需要创建并添加下面配置 vim /etc/apt/sources.list.d/gitlab-ce.list 把下面内容添加进去

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main  

添加完成后更新源,并且安装 GitLab

sudo apt-get update  
sudo apt-get install gitlab-ce  

3). 配置

  • 配置文件 : /etc/gitlab/gitlab.rb
  • 修改域名 : vim /etc/gitlab/gitlab.rb 文件
// 找到这一行, 填写你的域名
external_url '你的域名'  
  • 配置通知邮箱 : vim /etc/gitlab/gitlab.rb 文件
#Sending application email via SMTP
gitlab_rails['smtp_enable'] = true  
gitlab_rails['smtp_address'] = "smtp.163.com"  
gitlab_rails['smtp_port'] = 25  
gitlab_rails['smtp_user_name'] = "xxuser@163.com"  
gitlab_rails['smtp_password'] = "xxpassword"  
gitlab_rails['smtp_domain'] = "163.com"  
gitlab_rails['smtp_authentication'] = :login  
gitlab_rails['smtp_enable_starttls_auto'] = true

##修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"  
user["git_user_email"] = "xxuser@163.com"

如果执行不成功,请检查配置和内存,并且执行 gitlab-ctl reconfigure 重新编译启动

4). 网页配置

apt-get 安装默认继承了 Nginx 如果你需要服务器在跑其他环境,你需要修改你的 GitLab Nginx 的端口,基础配置不需要改配置文件网站上就能直接修改

file

使用 gitlab-ctl help 查看更多命令

PS#

PS#

感谢关注「GitHub 热门」公众号,带你了解技术圈内热门新鲜事!

file

本作品采用《CC 协议》,转载必须注明作者和本文链接
感谢关注「GitHub 热门」公众号
本帖由系统于 6年前 自动加精
Destiny
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 15
Destiny

@Summer 龙哥,文章有问题提出哈,我会第一时间修改!

8年前 评论
Summer

排版看起来非常靠谱,基于MIT 应该是 基于 MIT,中英文中间有空格。

很多公司因为战略原因,把代码视为商业机密,无法存放在第三方服务如 GitHub 或者 Coding 上,这时候 GitLab 会是一个很不错的解决方案。

8年前 评论
Destiny

@Summer : :kissing_closed_eyes: 嗯嗯,以后我的文章都更新在这上面了,博客也没人看

8年前 评论

是兄弟连的兄弟会吗?

8年前 评论
Destiny

@孙某某 嗯,对的!

8年前 评论

@luo975974740 有机会也试着加入看看

8年前 评论
Destiny

@孙某某 嗯,欢迎!

8年前 评论
Destiny

.... 别沉啊..... 这篇文章是精华....

8年前 评论
叶落山城

恩,不错,公司貌似用的就是这个,
顺便看到有人说兄弟连,我就回复了句。。

8年前 评论
Destiny

@叶落山城 嗯嗯,,,,,感谢你的支持

8年前 评论
lijinma

第一次使用 GitLab 就很开心,连 Nginx 都自带了,我还能说什么。。

8年前 评论

@luo975974740 多少期的?

8年前 评论

@luo975974740
@孙某某
@叶落山城
@lijinma 之前自己在我的小 VPS 搭建了一个 http://gitlab.jsoncool.com/ 有点卡

8年前 评论

@wujunze Gitlab 最低配置要求 2G 内存

8年前 评论