共计 1148 个字符,预计需要花费 3 分钟才能阅读完成。
简介
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。
GitLab 是一个分布式版本控制系统,与集中式版本控制系统相比,它具有许多优势。不仅可以在离线环境下工作,容错能力还更强,并且支持分支操作。
搭建
docker run --detach \
--name hostname \
--hostname <<ip>> \
-p 1443:443 \
-p 180:80 \
-p 122:22 \
-v /home/docker/gitlab/config:/etc/gitlab \
-v /home/docker/gitlab/logs:/var/log/gitlab \
-v /home/docker/gitlab/data:/var/opt/gitlab \
--restart always \
gitlab/gitlab-ce:latest
运行完成后,通过浏览器访问 180 端口即可进行登录。
默认账号:root,默认密码在 config 目录下的 initial_root_password 文件内。
基本配置
修改配置
进入后台能看见这里有一个默认项目 Monitoring,这里就以这个项目为例。
进入项目后,随便添加一个 readme.md,刷新后点击 git clone
发现这个地址是不对的,域名不对并且没有端口。
这里需要修改 gitlab.rb 文件,ip 填写宿主机的,端口填写映射的宿主机端口。nginx['listen_port']
指的是 gitlab 容器内部使用的端口,填80即可。
cat >> /home/docker/gitlab/config/gitlab.rb<<EOF
external_url 'http://172.21.9.203:180'
nginx['listen_port'] = 80
gitlab_rails['gitlab_shell_ssh_port'] = 122
EOF
重启 docker 容器
docker restart gitlab
可以看见仓库的 http 链接和 ssh 链接都正常了。
配置ssh
如果你还需要 ssh 也能够进行 clone 操作,那么你可能还需要进行一些配置。
# 判断本地是否存在密钥对,没有则创建
if [ ! -f ~/.ssh/id_rsa.pub ]; then
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa -q
fi
然后复制 ~/.ssh/id_rsa.pub
里面的公钥内容,点击 Edit profile
。
再点击 SSH Keys
,填写公钥,并设置一下过期日期,再点击添加,就可以通过 ssh 进行相关操作了。
提醒:本文发布于600天前,文中所关联的信息可能已发生改变,请知悉!