搭建 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 热门」公众号
本帖由系统于 5年前 自动加精
Destiny
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 15
Destiny

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

7年前 评论
Summer

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

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

7年前 评论
Destiny

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

7年前 评论

是兄弟连的兄弟会吗?

7年前 评论
Destiny

@孙某某 嗯, 对的!

7年前 评论

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

7年前 评论
Destiny

@孙某某 嗯, 欢迎!

7年前 评论
Destiny

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

7年前 评论
叶落山城

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

7年前 评论
Destiny

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

7年前 评论
lijinma

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

7年前 评论

@luo975974740 多少期的?

7年前 评论

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

7年前 评论

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

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!