利用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,其他环境也大同小异。
- 安装Docker for windows
2.设置Docker阿里云加速镜像地址,可以参考我的博客,Docker for windows加速设置
3.在D盘创建目录,结构如下:
执行下面命令下载最新的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 运行的环境变量
- 这里将gitlab添加到hosts文件,指向127.0.0.1。访问http://localhost,会让修改管理员密码。(启动比较耗时间,我启动了大概4分钟左右)
6.注册用户,登录进入gitlab
- 创建项目,这里创建一个gitlab-test项目。
8.找到project克隆地址,然后使用git bash克隆项目。
9.把项目文件拷贝到git项目文件夹中,然后用GitKraken打开git项目,编辑后推送到远程服务器。
- Wiki功能,许多项目共同的资料,教程可以放到wiki当中,比如项目资料位置,分支管理流程等等。
我们可以利用gitlab来管理。
- Issue,我们在测试当中可以直接利用gitlab的issue模块来管理跟踪。
重启docker服务器
docker restart gitlab
运行下面程序可以查看启动情况
docker ps
docker logs 4bc6
重启后可以再次访问localhost,确认结果。
- 添加其他成员进入项目
还没有评论,来说两句吧...