GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。
Gitlab 是被广泛使用的基于 git 的开源代码管理平台, 基于 Ruby on Rails 构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab 主要针对 group 和 project 两个维度进行代码和文档管理, 其中 group 是群组, project 是工程项目, 一个 group 可以管理多个project , 可以理解为一个群组中有多项软件开发任务, 而一个 project 中可能包含多个 branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。
安装包地址:
gitlab/gitlab-ce - Packages · packages.gitlab.com
1 安装
直接安装
bash
# 下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm --no-check-certificate
# 安装
rpm -i gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm
# 编辑 /etc/gitlab/gitlab.rb 文件
# 修改 external_url 访问路径 http://<ip>:<port>
# 其他配置修改如下
gitlab_rails['time_zone'] = 'Asia/Shanghai'
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 8
postgresql['shared_buffers'] = "128MB"
postgresql['max_worker_processes'] = 4
prometheus_monitoring['enable'] = false
# 更新配置并重启
gitlab-ctl reconfigure
gitlab-ctl restart
# 重启完成后,登陆ip:port
# 用户 root 密码为/etc/gitlab/initial_root_password中密码
# 登陆后修改密码为password
docker安装
bash
#拉去
docker pull gitlab/gitlab-ce
#运行
docker run
-d #后台运行,全称:detach
-p 443:443 #将容器内部端口向外映射
-p 29080:80 #将容器内80端口映射至宿主机29080端口,这是访问gitlab的端口
--restart always #容器自启动
--name gitlab #设置容器名称为gitlab
-v c:\gitlab\:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v c:\gitlab\log:/var/log/gitlab #与上面一样
-v c:\gitlab\data:/var/opt/gitlab #与上面一样
--privileged=true #让容器获取宿主机root权限
#访问
http://10.199.99.222:29080
#密码
#用户 root 密码为/etc/gitlab/initial_root_password中密码
2 配置修改
登陆后
bash
#关闭外网头像
# Settings > General > Account and limit > 关闭Gravatar enabled
# 关闭用户注册功能
# Settings > General > Sign-up restrictions > 取消 Sign-up enabled > Save changes
# 开启 webhook 外部访问
# Settings > Network > Outbound requests > Allow requests to the local network from web hooks and services 勾选
# 设置语言为中文(全局)
# Settings > Preferences > Localization > Default language > 选择简体中文 > Save changes
# 设置当前用户语言为中文
# 右上角用户头像 > Preferences > Localization > Language > 选择简体中文 > Save changes
3 配置公钥
在本地机上操作,用于提交代码
用户名,邮箱可以用root或者重新创建一个
bash
git config --global user.name "account name" //用户名,建议拼音或英文
git config --global user.email "account email" //邮箱地址
ssh-keygen -t rsa -C "account email" //上面的邮箱地址
#将公钥放到gitlab上ssh中
cat id_rsa.pub