分布式版本控制系统-GitLab搭建

Posted 微枫Micromaple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式版本控制系统-GitLab搭建相关的知识,希望对你有一定的参考价值。

写在前面

🍁个人主页:微枫Micromaple

✨本期专栏:《0到1项目搭建》欢迎订阅学习~

📌源码获取:GitCodeGitHub码云Gitee 持续更新中,别忘了 star 喔~

在企业开发过程中,我们需要搭建公司内部的Git版本控制系统,开源免费的 GitLab 成为了我们的选择。本文详细讲解了分布式版本控制系统 GitLab 的搭建、用户配置以及如何进行版本控制。

目录

一、什么是 Git

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是 Linus Torvalds 为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

在企业内部开发过程中,可能不会去选择使用第三方代码托管平台,但是我们又希望使用 Git 这个强大的分布式版本控制系统,开源的 GitLab 成为了我们的选择,最重要的是拥有社区免费版本。

二、安装 GitLab

2.1、安装部署

本文使用 Docker 简单高效的安装部署方式,无需繁琐的配置。

推荐配置:2核4G。

1)、创建目录

mkdir -p /usr/local/docker/gitlab

2)、进入目录

cd /usr/local/docker/gitlab

3)、创建 docker-compose.yml

vim docker-compose.yml

内容如下:

version: '3'
services:
    web:
      image: 'twang2218/gitlab-ce-zh'
      restart: always
      hostname: '192.168.110.158'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.110.158:8080'
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          unicorn['port'] = 8888
          nginx['listen_port'] = 8080
      ports:
        - '8080:8080'
        - '8443:443'
        - '2222:22'
      volumes:
        - ./config:/etc/gitlab
        - ./data:/var/opt/gitlab
        - ./logs:/var/log/gitlab
  • hostname:指定当前部署服务器IP
  • external_url:更改为当前部署服务器IP

4)、启动容器

docker-compose up -d

等待下载安装启动,根据网络情况、机器配置等待时间不一,耐性等待启动完成。

5)、启动完成,配置账户密码,登录

启动完成后,浏览器访问如下地址:

http://部署服务器IP:8080/

会提示给新账户创建密码

设置一个记得住的密码即可,密码最短为8位。配置完成后登录。

用户名为root,密码为刚刚设置的密码

登录成功,界面如下:

2.2、添加账户

我们一般不使用root用户来进行项目创建,需要创建一个管理员账户来进行项目管理以及给其他开发人员分配账户。

步骤如下:

点击管理区域->点击新建用户


填写姓名用户名电子邮箱等信息,根据需要分配给用户权限


创建完成后,需要重置密码

点击管理区域->点击右侧用户->找到刚刚创建的账户->点击编辑


找到密码栏目->输入密码->点击保存

退出root账户,登录新账户


需要设置新密码

新账户登录成功

2.3、注册限制

一般搭建在企业内部使用,不启用注册功能。

三、项目托管

项目托管,在群组下以一个项目对应一个模块的方式进行托管,后续可以更加方便的对每个模块进行持续集成。

当然,也可以以项目的方式对整个项目进行托管,以具体情况具体分析。

具体模块对应描述:

模块描述
my-project-dependencies统一的依赖管理
my-project-common通用模块
my-project-generator代码生成器模块
my-project-server项目服务模块

3.1、创建群组

由于项目是多模块项目,需要创建一个群组

输入群组名称,点击创建

3.2、创建项目

my-project-dependencies为例

进入群组->点击新建项目

输入项目名称描述->勾选初始化仓库->点击创建项目

其他三个模块my-project-commonmy-project-generatormy-project-server步骤跟上述雷同,最终创建完成效果图如下:

3.3、托管项目

我们是根据每个模块创建的项目,所以我们需要一个一个的将项目通过git克隆出来。

1)、首先克隆my-project-dependencies,点击选择my-project-dependencies

2)、复制项目地址

3)、使用TortoiseGit进行克隆

提示需要输入用户名


提示需要输入密码


克隆成功


4)、其它模块

其它模块操作雷同,最终呈现效果如下图:

5)、项目完善

我们需要将之前研发的模块下的文件拷贝至该目录所对应的项目模块,比如my-project-dependencies,我们只需要将pom.xml拷贝过来即可,我们可以将原来项目的.gitignore文件拷贝至该目录下,因为我们目前项目托管状态是以单个模块来进行的。

效果呈现如下图:

my-project-dependencies

my-project-common

my-project-generator

my-project-server


6)、提交推送

项目都已经完善后,将增加的内容提交至GitLab,交给其进行托管

my-project-dependencies为例。


提交成功

其他三个项目模块my-project-commonmy-project-generatormy-project-server步骤跟上述雷同,逐个操作提交推送即可。

以上是关于分布式版本控制系统-GitLab搭建的主要内容,如果未能解决你的问题,请参考以下文章

git & gitlab的搭建和部署

如何搭建自己的中文Git版本库:Gitlab容器化部署

git的搭建与使用

使用docker搭建gitlab版本控制系统

git与gitlab的区别 git与gitlab有啥区别

Gitlab构建分布式版本控制系统