您的位置:首页 > 运维架构 > Docker

利用Docker搭建gitlab

2018-02-09 14:55 579 查看
[b]这年头不知道Git, 还真不好意思出门跟人家打招呼![/b]

什么是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 windows2.设置Docker阿里云加速镜像地址,可以参考我的博客,Docker for windows加速设置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. 添加其他成员进入项目



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: