Git创建和拉取项目分支的应用以及Gitlab太占内存,如何配置降低gitlab内存占用进行优化

一、Git创建和拉取项目分支的应用

1. 关于git创建分支,

git创建分支,可以通过git管理平台可视化操作创建,也可以通过git bash命令行下创建:

A. 是通过git管理平台创建:

进入gitlab管理平台具体的目标项目中,在项目名称下能看到如"253次提交 2个分支 0个标签 6.9 MB文件 6.9 MB存储"的统计信息,点击其中的*个分支处即能看到分支的管理页面,直接在界面上点击"新建分支",输入Branch name并选择create from(默认就是master)后点击创建分支create brance即可。

B. 通过git bash命令行下创建:

bash 复制代码
#当前处于master主干分支上
git branch test
git add .
git commit -m '新增分支'
git push origin test
git push --set-upstream origin test

只有在执行git push操作成功后才能在git管理平台上查看到新建的分支,不然看不到。

2. 关于git拉取分支,

git拉取分支,使用git clone 拉取仓库代码默认把master分支拉取下来,要切换到分支需要在本地用git checkout -b新建一个分支,然后在git pull远程的分支。push的时候比较麻烦。所以不建议拉取master然后再切到分支,比较好的方法就是远程直接拉取远程存储库的某个分支到本地文件夹下。使用如下命令直接拉取分支,之后本地命令下操作这套代码就是操作在分支上。不用担心git commit/push出问题。

bash 复制代码
git clone -b brance_name http:192.168.1.11/url/project.git .

二、Gitlab太占内存,如何配置降低gitlab内存占用进行优化

在新买的阿里云2C4G服务器上部署上了gitlab,启动后服务器竟然死机了,远程都连不上,原因在gitlab太吃内存,我这里使用的是docker部署。启动脚本如下:

bash 复制代码
docker run -d 
    --name gitlab13.3 
    -p 9001:80 
    -v /opt/gitlab13.3/config:/etc/gitlab 
    -v /opt/gitlab13.3/logs:/var/log/gitlab 
    -v /opt/gitlab13.3/data:/var/opt/gitlab 
    gitlab/gitlab-ee:13.3.5-ee.0

要减少gitLab的内存占用,需要修改其配置文件,以上面的配置启动后,gitlab的配置文件 gitlab.rb就在目录/opt/gitlab13.3/config 中。然后我们就可以开始编辑这个配置文件。

1. 进行配置修改减少gitLab内存占用:

1.减少数据库缓存

postgresql['shared_buffers'] = "64MB"

2.减少数据库并发数

postgresql['max_worker_processes'] = 1

3.减少sidekiq并发数

sidekiq['concurrency'] = 1

4.减少进程数

unicorn['worker_processes'] = 1

nginx['worker_processes'] = 2

5.减少超时时间

unicorn['worker_timeout'] = 10

6.减少数据库缓存

postgresql['shared_buffers'] = "64MB"

7.将worker内存上限设置小一点

unicorn['worker_memory_limit_min'] = "100 * 1 << 20"

unicorn['worker_memory_limit_max'] = "220 * 1 << 20"

8.禁用prometheus

prometheus_monitoring['enable'] = false

9关闭一些监控和性能基准相关的功能

prometheus['enable'] = false

prometheus_monitoring['enable'] = false

alertmanager['enable'] = false

node_exporter['enable'] = false

redis_exporter['enable'] = false

postgres_exporter['enable'] = false

pgbouncer_exporter['enable'] = false

gitlab_exporter['enable'] = false

grafana['enable'] = false

sidekiq['metrics_enabled'] = false

2. docker重载配置生效命令:

重载配置:docker exec -it gitlab容器ID gitlab-ctl reconfigure

重启:docker exec -it gitlab容器ID gitlab-ctl restart

查看各个容器内存占用:docker stats

使用以上方式处理后,服务器算是把gitlab运行起来了,但是看了一下,还是吃了不少内存,基本在1.8G内存左右。我也试着去再降低内存占用。网上还有很多可修改配置。但我发现再怎么修改配置,内存占用也没有再减少。仍然在1.7-1.8G。有些提到的可优化配置如下。我这里试过了没什么明显的效果。

关闭容器仓库功能

gitlab_rails['gitlab_default_projects_features_container_registry'] = false

gitlab_rails['registry_enabled'] = false

registry['enable'] = false

registry_nginx['enable'] = false

包仓库、依赖管理

gitlab_rails['packages_enabled'] = false

gitlab_rails['dependency_proxy_enabled'] = false

GitLab Pages

gitlab_pages['enable'] = false

pages_nginx['enable'] = false

Usage Statistics

gitlab_rails['usage_ping_enabled'] = false

gitlab_rails['sentry_enabled'] = false

grafana['reporting_enabled'] = false

GitLab KAS

gitlab_kas['enable'] = false

gitlab_rails['gitlab_kas_enabled'] = false

Terraform

gitlab_rails['terraform_state_enabled'] = false

Kerberos 文档说EE only,但是默认值为 true

gitlab_rails['kerberos_enabled'] = false

Sentinel

sentinel['enable'] = false

Mattermost

mattermost['enable'] = false

mattermost_nginx['enable'] = false

禁用 PUMA 集群模式

puma['worker_processes'] = 0

puma['min_threads'] = 1

puma['max_threads'] = 2

降低后台守护进程并发数

sidekiq['max_concurrency'] = 5

关闭电子邮件相关功能

gitlab_rails['smtp_enable'] = false

gitlab_rails['gitlab_email_enabled'] = false

gitlab_rails['incoming_email_enabled'] = false

#关闭默认的 CI 功能

gitlab_ci['gitlab_ci_all_broken_builds'] = false

gitlab_ci['gitlab_ci_add_pusher'] = false

相关推荐
CC码码6 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码6 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)6 小时前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang6 小时前
将大仓库拆分为多个小仓库
git
兔老大RabbitMQ12 小时前
GitLab详细分析
gitlab
李boyang10 天前
Git(四):远程操作
git
荻野泽溪10 天前
Git新建分支并同步到远程
git
漫步企鹅10 天前
【Git】新建一个远程分支的常规操作
git·新建远程分支
潇-xiao10 天前
Linux下的版本控制器Git(15)
linux·笔记·git
@昵称不存在10 天前
Git学习
git·学习