一、Git、GitHub、GitLab的区别

Git是版本控制系统,Github是在线的基于Git的代码托管服务。

GitHub是2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的代码仓库。

Gitlab解决了这个问题, 可以在上面创建免费的私人repo。

官方安装介绍:https://www.gitlab.com.cn/installation/

说明一下,官网提供GitLab的两种版本:gitlab-ee版本(企业版)和gitlab-ce版本(社区版),社区版是免费的。

二、GitLab Server搭建

官方说明:https://docs.gitlab.com.cn/ce/install/requirements.html#cpu,安装GitLab的硬件需求

我用的是2G内存的腾讯云服务器,自己添加了4G的swap,感觉勉强能用

(1)安装并配置必要的依赖关系

yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python   # 10.x以后开始依赖 policycoreutils-python,之前的版本不需要安装

# 启动 postfix

systemctl start postfix

启动时遇到错误:/usr/sbin/postconf: fatal: parameter inet_interfaces: no local interface found for ::1

解决方法参考自博客:https://www.cnblogs.com/byfboke/p/9843069.html

启动成功时如下图所示:

# 加入开机启动

systemctl enable postfix

(2)安装GitLab:

在GitLab官网:https://about.gitlab.com/install/,点击下面的链接,访问清华大学开源软件镜像站:

根据下面的说明,配置gitlab-ce的yum源:

用yum安装时,可以看到是最新版本的gitlab-ce

下面是安装成功的界面:

查看GitLab的版本号:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

(3)GitLab的配置:

GitLab的配置文件 /etc/gitlab/gitlab.rb, 编辑如下:

vim /etc/gitlab/gitlab.rb

external_url 'http://gitlab.example.com'这一行中的gitlab.example.com字符串替换成你自己服务器的域名或者IP地址,然后进行编译配置。

使用 gitlab-ctl reconfigure 命令自动配置,并安装数据库,初始化信息。(第一次使用配置时间较长,耐心等待)

gitlab-ctl reconfigure

。。。中间输出信息省略。。。

初始化配置成功,如下图所示:

使用 gitlab-ctl start 命令启动gitlab服务,如下图所示:

free -h 命令查看gitlab启动后的内存使用情况

下面的截图是安装GitLab前的内存使用情况:

这是启动GitLab后的内存使用情况:

这时在浏览器输入服务器的域名或者IP地址,访问自己搭建的GitLab

这里需要注意:GitLab启动可能需要几分钟的时间,我刚启动后,在浏览器访问出现如下图所示的“502”,稍等片刻,再次访问就好了,要是没好,请检查内存是否够用,相关服务是否都在运行等问题。

还需要注意一点:GitLab默认使用8080端口,要是启动GitLab时8080端口已经被其他程序使用,访问时也会一直显示“502”。

要是更改GitLab的端口:在/etc/gitlab/gitlab.rb 中做出如下修改

unicorn['port'] = 端口号

再执行命令

gitlab-ctl reconfigure

gitlab-ctl start

成功访问到的页面:

能访问到说明GitLab安装成功!

(4)设置邮箱,修改配置文件,添加SMTP邮件功能

官方说明:https://docs.gitlab.com.cn/omnibus/settings/smtp.html#testing-the-smtp-configuration

gitlab-ctl stop   # 停止GitLab

vim /etc/gitlab/gitlab.rb   # 进入GitLab的配置文件

需要修改下面的两处配置,默认如下图所示:

修改后的截图:(我用的SMTP服务器是网易的)

配置完后,重新执行下面的命令:

gitlab-ctl reconfigure

gitlab-ctl start

GitLab启动起来后,可以用Rails控制台验证邮件是否能发送成功。 在GitLab服务器上,执行 gitlab-rails console 命令进入控制台。 然后在控制台提示符后输入下面的命令发送一封测试邮件:

Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

注意:执行 gitlab-rails console 命令后可能需要等待一下,才会出来 irb(main):001:0>

如下图所示,说明配置成功!

在浏览器中输入服务器的域名或者IP地址 ,访问到如下界面,然后修改默认密码,单击 “Change your password” 按钮。

账号默认为root,密码是刚修改的。

登录成功的界面:

创建用户:

相关命令:

允许 GitLab 开机自启动:

systemctl enable gitlab-runsvdir

查看是否为开机自启动:

systemctl is-enabled gitlab-runsvdir

禁止 GitLab 开机自启动:

systemctl disable gitlab-runsvdir

本文参考自文章:https://www.centos.bz/2018/05/gitlab搭建与基本使用/

最新文章

  1. Kali v2.1.2 for Raspberry Pi 3B
  2. zTree+EasyUi做权限遇到的小问题
  3. Mvc网站发布到IIS
  4. js类(继承)(一)
  5. C++ VS2010 声明没有存储类或类型说明符
  6. include指令
  7. 分享一个客户端程序(winform)自动升级程序,思路+说明+源码
  8. innerHTML与innerText的PK
  9. iOS8上放大缩小的动画
  10. 诡异的XmlSerializer属性字段Specified
  11. Java---设计模块(工厂方法)
  12. id和instancetype的异同
  13. Cornerstone 3.0.3 for mac 破解版
  14. java记事本1.2版
  15. [Swift]LeetCode752. 打开转盘锁 | Open the Lock
  16. 设计模式学习心得<外观模式 Facade>
  17. lsf运行lsload命令显示“lsload: Host does not have a software license”
  18. Nowcoder contest 370H Rinne Loves Dynamic Graph【分层图最短路】
  19. 深入理解JVM(1)——JVM内存模型
  20. 控件_CheckBox(多选按钮)

热门文章

  1. 创建Windows Service
  2. aix如何将history输出所有命令导出到文本文件
  3. 【maven学习】构建maven web项目
  4. 18 SpringMVC 文件上传和异常处理
  5. 关于于c++中的类型转换
  6. Django-07-Model操作
  7. Latex中如何设置字体颜色(三种方式)
  8. Docker容器挂载文件(转载)
  9. Spring Security 解析(二) —— 认证过程
  10. 【转载】C#使用Newtonsoft.Json组件来序列化对象