本文作者:ChampYin  
转载请注明出处:https://champyin.com/2018/05/27/如何搭建自己的gitlab服务

前言

GitHub、GitLab 以及 Bitbucket ,相信大家都已经耳熟能详,它们是目前最流行的三大代码托管平台 。我们使用 git 管理的项目,要想实现远程协作,就得依赖这类托管平台。

我们可以直接使用这三家提供的在线服务,也可以通过购买他们的付费服务或者开源服务搭建自己的私服,来托管团队项目代码。

搭建GitLab 

gitlab 是一个基于 web 的 git 仓库管理工具。gitlab 拥有 github 拥有的一切,并且拥有更多,更重要的是,它是开源的!

搭建一个 gitlab 私服只需如下4步:

  1. 准备linux环境

  2. 安装gitlab

  3. 配置gitlab

  4. 启动gitlab

一、准备linux环境

gitlab 必须安装在 linux 操作系统上,因此必须要有一个 linux 操作系统环境。gitlab 目前支持的 linux 操作系统有:

  • Ubuntu

  • Debian

  • CentOs

  • openSUSE

如果你的服务器是 linux 系统,则可以跳过这一步。如果你的服务器是 windows 系统,也没有关系,可以使用虚拟机:

  1. 安装虚拟机。oracle 公司的 virtual box 或者 vmware 都是很好的选择。

  2. 下载 linux 操作系统镜像。desktop 或者 server 版都行。

  3. 安装、配置镜像。因为要作为长期使用的代码托管服务,各项参数尽量配高一些。

我的虚拟机(virtual box )配置:

  • linux版本:ubuntu 16.04 LTS

  • CPU:8核

  • 内存:16G

  • 硬盘:100G

二、安装gitlab

gitlab 是开源的,可以去 gitlab 官网 `https://about.gitlab.com/` 获取相应 linux 版本支持的镜像安装地址。比如我需要的是 ubuntu 版本的 gitlab。

在线自动安装

如果你的服务器可以联外网,可以通过以下步骤进行在线自动安装:

1. 在 linux 服务器打开一个终端,安装配置依赖

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

2. 添加 gitlab 包,并自动安装

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

离线解决方案

因为我当时所在的网络不能访问该镜像地址,所以在线的方式行不通。不过幸好 gitlab 提供了手动安装的离线包,最终通过离线包安装的方式安装成功。

离线包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

1. 先将离线包下载下来,放到 virtual box 与宿主机的共享目录(需要设置一下虚拟机),比如 `mnt/share`。你也可以通过远程工具(比如 filezilla)把镜像直接传到 linux 服务器上。

2. 然后在 linux 服务器打开一个终端,通过如下命令安装

sudo dpkg -i /mnt/share/gitlab-ce_10.1.4-ce.0_amd64.deb

3. 安装成功后的终端信息显示如下:

gitlab 安装成功

三、配置gitlab

要修改的配置都在 /ect/gitlab/gitlab.rb 这个文件里面。

我这里主要是修改 URL 为我自己服务器的域名以及端口(我为我的 linux 虚拟机申请了域名,具体操作见 [如何设置linux网络](https://yc111.github.io/2018/05/28/如何设置linux虚拟机网络/)):找到 gitlab.rb 文件中的 `EXTERNAL_URL` 字段,将其修改为我的域名,端口设为80。

这样你的项目 clone 的地址 URL 就会变成你设置的域名而不是 IP 地址了。

然后运行如下命令让修改生效:

sudo gitlab-ctl reconfigure

四、启动gitlab

最后通过如下命令启动gitlab

sudo gitlab-ctl start

查看一下gitlab各服务器状态

sudo gitlab-ctl status

如果你的服务器内置了浏览器,现在就可以在浏览器中输入 localhost 预览 gitlab。

首次访问 gitlab,会要求你设置 root 账号的密码:

首次访问

使用刚才重置后的 root 账号登录 gitlab:

root账号登录gitlab

退出 root 账号后, 进入 gitlab 注册登录页:

gitlab 登录页

至此,就完成了 gitlab 的整个搭建过程。

现在,在任何一台可联网的电脑上,输入你的 linux 服务器域名(或者 IP 地址),就可以访问你刚刚搭建好的 gitlab 私服了。接下来请愉快地在上面注册账号,创建项目,协作开发吧!

- End -

文章首发于于公众号「前端手札」,喜欢的话可以关注一下哦。

如何搭建自己的gitlab服务相关推荐

  1. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

  2. GitLab 服务搭建

    1. GitLab 概述 GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务.GitLab 产品将分为三个发行版本 CE(社区版):发 ...

  3. 使用Gogs轻松搭建可能比GitLab更好用的Git服务平台

    前言 GitHub 已经成为首选的代码托管平台,因为它又很多很棒的功能,操作简单,几乎所有的开发者都喜欢它.但是搭建 GitLab 过程并没有想象中的简单,利用 Bitnami 当然也是一种偷懒的好选 ...

  4. 使用Gogs轻松搭建可能比GitLab更好用的Git服务平台 1

    前言 GitHub已经成为首选的代码托管平台,因为它又很多很棒的功能,操作简单,几乎所有的开发者都喜欢它.但是搭建GitLab过程并没有想象中的简单,利用Bitnami当然也是一种偷懒的好选择.Gog ...

  5. 详解线上gitlab服务搭建(字数2w+)

    目录 一.GitLab是什么? 1.GitLab的功能 2.GitLab和Git区别 3.GitLab的优势 二.GitLab安装1.环境配置 2.环境要求 #系统层 #Ruby versions # ...

  6. 本地搭建部署gitlab服务并汉化

    gitlab不支持windows版本,我是使用CentOS7安装部署的,详见以下. CentOS 7下载地址 进去以后下载下面红框标出来的文件 gitlab10.0.0下载 : 链接:https:// ...

  7. Docker搭建自己的GitLab

    Docker搭建自己的GitLab docker 介绍 **GitLab: ** GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 **Do ...

  8. 打开git界面_使用 Gitea 快速搭建私有 Git 版本控制服务

    1. 前言 分布式版本控制工具 Git 已经是现代软件源代码版本控制首选方案之一.公有 Git 服务提供商 国外知名如 GitHub 国内网络延迟高,Gitlab 涉嫌对中国的歧视不推荐.国内有 Gi ...

  9. GITLAB服务常用命令

    GitLab简介 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务. Github是公共的git仓库,而Gitlab适合于搭建企业内部私有g ...

最新文章

  1. 图像特征点检测与匹配评价准则——量化
  2. 批量选中删除(包含全选)---jsp,servlet
  3. oracle修改某个数据类型,Oracle 修改某个字段的数据类型三种方式
  4. Python编程模块里一些小众但是却比较实用的python内置库
  5. [胡思乱想]网络游戏与社会资源公平分配
  6. C++ unordered_map 在key为string类型和char*类型时测试时间性能差异
  7. 太赞了!终于有人把怎么在IDEA中使用Java热部署插件JRebel讲清楚了...
  8. 增长量计算n+1原则_行测资料分析技巧:一招解决增长量
  9. eaxsinbx_二次微分方程的通解
  10. 第一次使用拉勾网求职经历
  11. 配置计算机能不能关机,详细教你电脑自动关机怎么设置
  12. html5关键语句,怎样把握文中的关键语句
  13. 移动物联网卡APN如何设置?
  14. Android 4高级编程(第3版)》
  15. 3ds max中的对象绕局部坐标系旋转的动画
  16. 华为云文件服务器配置,华为云 文件服务器配置
  17. 「好书推荐」《边城》沈从文的乡土情怀代表作,汪曾祺、林徽因、曹文轩等真情推荐!
  18. 2022年,人工智能和数据发展呈现哪五大趋势?
  19. android 4.3 nfc,nfc读卡在android 4.4以上与4.4以下写法的区别
  20. 【JAVA面试题】java面试题100道详解

热门文章

  1. js实现手机端滑动事件 touch event
  2. Java工具类-JGit基本功能实现
  3. ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数)
  4. nova 8什么时候可以用鸿蒙,12月23日发布!华为Nova 8会用上有鸿蒙OS系统吗?
  5. Python图像处理库PIL——resize()函数
  6. 利用ACIS + Hoops + InterOp实现CAD软件
  7. 物流行业为什么要开发APP
  8. 多线程与ThreadLocal的理解笔记
  9. 模糊测试入门案例,利用AFL和Honggfuzz模糊测试Tiff
  10. 如何通过设计验证让SoC芯片流片成功