GitLab
我们的gitlab网址为:http://git.aqsh3x.com:8099 我们将在这个平台上学习git的使用方式。
这是一种 Git 仓库托管服务的web工作模式软件。可以很方便的实现协作式版本控制,它的主要语言是英语,同时支持中文与其他各种语言,因为这种软件的業務範圍是面向全球范围的。
GitLab 是由 GitLab Inc.开发,一款基于 Git 的完全集成的软件开发平台(fully 集成軟體 development platform)。另外,GitLab 且具有wiki以及在线编辑、issue跟踪功能、CI/CD 等功能。
这是一个基于网络的Git仓库管理工具,允许团队协作在一个项目上工作并共享代码。它提供多种功能,例如源代码管理、问题管理、持续集成、Wiki和代码审查等。对于任何具有软件开发需求的组织都是一个非常实用和必不可少的工具。
目录
硬件要求[编辑]
由于GitLab是一个资源密集型应用程序,因此必须有足够的硬件资源来支持它。下面是GitLab推荐的最低硬件要求:
4核心CPU 8GB RAM 25GB磁盘空间(Git仓库大小不包括在内)
在配置服务器时,需要考虑预计的并发用户数、Git仓库大小和资源要求,以便为GitLab提供充足的硬件资源。以上只是最基本的启动要求,实际应用中所有硬件参数越高越好。
集成安装时的服务[编辑]
在使用BT面板集成安装时会自动启用以下服务:
- alertmanager
- gitaly
- gitlab-exporter
- gitlab-kas
- gitlab-workhorse
- logrotate
- nginx
- node-exporter
- postgres-exporter
- postgresql
- prometheus
- puma
- redis
- redis-exporter
- sidekiq
代码修改[编辑]
- 当我们在BT面板中安装后要修改
/var/opt/gitlab/gitlab-rails/etc
这个文件中的IP来使用域名连接的方式。
- 最新版的gitlab已经内置了中文
但要在个人设置中指定,默认的只能是英文,因为中文界面并没有完全翻译完成。
新代码库[编辑]
命令行指引 您还可以按照以下说明从计算机中上传现有文件。
Git 全局设置
git config --global user.name "JarodLee" git config --global user.email "mail@aqde.net"
创建一个新仓库
git clone git@git.aqsh3x.com:root/new.git cd erisemail git switch -c main touch README.md git add README.md git commit -m "add README" git push -u origin main
推送现有文件夹
cd existing_folder git init --initial-branch=main git remote add origin git@git.aqsh3x.com:root/new.git git add . git commit -m "Initial commit" git push -u origin main
推送现有的 Git 仓库
cd existing_repo git remote rename origin old-origin git remote add origin git@git.aqsh3x.com:root/new.git git push -u origin --all git push -u origin --tags
中文文档[编辑]
国内有一批人正在翻译文档,做的很不错:https://www.bookstack.cn/read/gitlab-doc-zh/docs-535.md
使用中的问题[编辑]
密码长度[编辑]
目前看来用户密码限制最小为8位:https://www.kancloud.cn/apachecn/gitlab-doc-zh/1949104#modify-minimum-password-length-using-gitlab-ui
内存占用[编辑]
由于现有机器内存太小,经常造成机器无响应,可能需要参考大佬们的方案,修改配置文件
/etc/gitlab.gitlab.rb
中的7个参数:
unicorn['worker_processes'] = 2 # core数+1;cat /proc/cpuinf
unicorn['worker_timeout'] = 60
postgresql['shared_buffers'] = "256MB" #缓存还可以再小
postgresql['max_worker_processes'] = 8 #并发数
sidekiq['concurrency'] = 25 #默认 减小并发数
unicorn['worker_memory_limit_min'] = "200 * 1 << 20" # 这是改小
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
————————————————
但是由于我们是集成安装的,文件是否能生效,待验证。
操作系统要求[编辑]
GitLab支持多种操作系统,例如Ubuntu、Debian和CentOS。然而,为了获得最佳的性能和兼容性,推荐使用Ubuntu或Debian作为GitLab的操作系统。
安装和配置要求[编辑]
安装和配置GitLab是一个相对复杂的过程,需要从多个方面考虑。例如,如果你要配置GitLab的HTTPS访问,就需要为GitLab生成并安装SSL证书。此外,你还需要为GitLab配置邮件服务器以便接收通知、创建用户等。
除此之外,GitLab还要求服务器上安装有必要的软件和工具,例如Ruby、PostgreSQL、NGINX,以及Git本身。安装这些软件需要一定的技术知识和经验,应该由有经验的IT专业人员来完成。
备份和恢复要求[编辑]
对于任何生产环境下的应用程序,备份和恢复都是至关重要的。GitLab也不例外。如果你在生产环境中使用GitLab,你需要定期备份你的Git仓库和数据库。另外,你还需要了解如何在服务器崩溃时恢复GitLab。
安全要求[编辑]
GitLab的安全是一个重要的问题,需要注意以下几点:
- 在服务器上安装防火墙,限制对GitLab的远程访问
- 禁用不需要的服务和端口,并只允许必要的服务和端口
- 对服务器进行定期更新,确保所有的安全补丁都已经安装
- 为GitLab配置合适的安全策略,例如密码复杂度、使用HTTPS等
- 对所有的代码审查请求进行严格的权限控制,确保只有适当的人员可以审核和合并代码。
维护要求[编辑]
为了确保GitLab的稳定性和性能,你需要对GitLab进行定期的系统维护和调优。例如,你需要确保GitLab和数据库都是最新版本,并且你需要定期清理无用的数据和文件。此外,你还需要监控GitLab的系统资源使用情况,例如内存、CPU和磁盘空间,以及定期备份你的Git仓库和数据库。
但是,如果你不想繁琐地搭建GitLab环境,也可以考虑使用GitLab提供的云托管服务,它可以自动配置GitLab的所有要求,从而轻松地使用GitLab。