利用Docker搭建gitlab

小鱼儿 2022-05-31 06:14 497阅读 0赞
这年头不知道Git, 还真不好意思出门跟人家打招呼!

什么是Git


Git是一个版本控制系统(Version Control System,VCS)。

SVN, CVS这类早期的集中式版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

而Git或Mercurial这类分布式版本控制系统, 才是现代的首选。因为分布式的优势绝对显著。在分布式版本控制系统里,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

Git相对于SVN学习门槛高一些,但是当你习惯以后,真的是越用越爽,根本无法回到SVN的时代。

关于Git的简介可以参考Git,Github和Gitlab简介和基本使用。

关于Git的教程可以参考廖雪峰Git教程

什么是GitLab


GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

下面我们介绍一下如何通过Docker搭建一个Gitlab环境,我使用的Docker for Windows,其他环境也大同小异。

  1. 安装Docker for windows

2.设置Docker阿里云加速镜像地址,可以参考我的博客,Docker for windows加速设置

3.在D盘创建目录,结构如下:

70

  1. 执行下面命令下载最新的gitlab镜像,并启动。

    docker run —detach —hostname gitlab —publish 443:443 —publish 80:80 —publish 8888:22 —name gitlab —restart always —volume d:/docker/gitlab/config:/etc/gitlab —volume d:/docker/gitlab/logs:/var/log/gitlab gitlab/gitlab-ce:latest

参数说明:

  • --detach: 设置容器后台运行
  • --hostname: 设置容器的 hostname
  • --publish: 端口转发规则(80:Http 访问端口,443:Https 访问端口,8888:主机的 ssh 访问端口,22:Docker 容器中 ssh 访问端口)
  • --name:容器名称
  • --restart always:每次启动容器就重启GitLab
  • --volume: 共享目录挂载,即 docker 容器内外数据共享(d:/gitlab/data: 应用程序数据,d:/gitlab/logs:GitLab 的 log,d:/gitlab/config:GitLab 的配置文件)
  • --e:配置 Gitlab 运行的环境变量
  1. 这里将gitlab添加到hosts文件,指向127.0.0.1。访问http://localhost,会让修改管理员密码。(启动比较耗时间,我启动了大概4分钟左右)

70 1

6.注册用户,登录进入gitlab

70 2

  1. 创建项目,这里创建一个gitlab-test项目。

70 3

8.找到project克隆地址,然后使用git bash克隆项目。

70 4

70 5

9.把项目文件拷贝到git项目文件夹中,然后用GitKraken打开git项目,编辑后推送到远程服务器。

70 6

  1. Wiki功能,许多项目共同的资料,教程可以放到wiki当中,比如项目资料位置,分支管理流程等等。

我们可以利用gitlab来管理。

70 7

  1. Issue,我们在测试当中可以直接利用gitlab的issue模块来管理跟踪。

70 8

  1. 重启docker服务器

    docker restart gitlab

运行下面程序可以查看启动情况

  1. docker ps
  2. docker logs 4bc6

70 9

重启后可以再次访问localhost,确认结果。

  1. 添加其他成员进入项目

70 10

70 11

发表评论

表情:
评论列表 (有 0 条评论,497人围观)

还没有评论,来说两句吧...

相关阅读