利用Docker搭建gitlab

这年头不知道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加速设置

扫描二维码关注公众号,回复: 1016712 查看本文章

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


4. 执行下面命令下载最新的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 运行的环境变量

5. 这里将gitlab添加到hosts文件,指向127.0.0.1。访问http://localhost,会让修改管理员密码。(启动比较耗时间,我启动了大概4分钟左右)


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



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


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



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


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

我们可以利用gitlab来管理。


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


12. 重启docker服务器

docker restart gitlab

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

docker ps

docker logs 4bc6

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

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



猜你喜欢

转载自blog.csdn.net/jzd1997/article/details/79297250