搭建 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
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《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年前 评论

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