gitlab 使用docker来安装的方式。

1、Gitlab介绍 GitLab 是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务平台, 通过该平台可以实现Github类似的web系统,可以实现浏览代码...

安装docker,添加docker的阿里源

1,curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

2,echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3,apt update
5,apt install -y docker-ce


1、Gitlab介绍

GitLab 是一个用于代码仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务平台,


通过该平台可以实现Github类似的web系统,可以实现浏览代码、管理项目、管理团队人员、管理代码分支、代码提交记录等功能。Gitlab是目前互联网公司最流行的代码版本控制平台。


2、gitlab与github对比

gitlab:比较适合公司内部的项目管理,用来管理项目成员、代码提交、项目运维。分为社区免费版和企业收费版,针对中小型公司推荐使用社区免费版,功能就够用了。


github:作为“最大的同性交友网站”,里面的大部分项目都是开源的,通过全世界最大的程序员交流平台,可以分享自己的技术、提升自己的知名度。作为公司的内部项目管理就不太适合了。


3、Gitlab安装教程

安装GitLab官方推荐至少4G的内存【我是8G才跑起来】,否则可能会卡顿或者运行非常慢,建议小伙伴们采用4G以上的云服务进行测试,或者本地搭建虚拟机的方式来做。


3.1 搜索Gitlab镜像

docker search gitlab

3.2 下载Gitlab社区免费版最新镜像

说明:ce 表示社区免费版 ,ee 表示企业付费版


docker pull gitlab/gitlab-ce

3.3 查看镜像是否下载成功

#获取本地镜像列表查看是否有gitlab-ce的镜像


docker images

3.4 运行Gitlab镜像

docker run -d \

--hostname gitlab.xxx.com \

--name gitlab \

--restart always \

-p 8082:443 -p 8083:80 -p 8084:22 \

-v /etc/localtime:/etc/localtime:ro \

-v /usr/local/gitlab_data/gitlab/config:/etc/gitlab \

-v /usr/local/gitlab_data/gitlab/logs:/var/log/gitlab \

-v /usr/local/gitlab_data/gitlab/data:/var/opt/gitlab \

gitlab/gitlab-ce

参数说明


-d 指定后台运行


--hostname 指定主机名


--name 指定容器名


-p 端口映射 443 https端口 80 http端口 22 ssh端口


--restart always  容器停止后的重启策略: 容器退出时总是重启


-v 指定挂载存储卷首先在宿主主机创建对应的目录


3.5 配置防火墙开放云服务器的端口

如果你购买的是云服务器的话,需要设置外网端口开放。常见的阿里云、华为云、腾讯云都可以很方便设置端口开放,大家可以自行百度。


防火墙的设置命令如下:


systemctl status firewalld #查看防火墙状态

systemctl start firewalld #开启防火墙

systemctl stop firewalld #关闭防火墙

firewall-cmd --list-ports #查看开放端口

#设置8082-8084端口开放

firewall-cmd --zone=public --add-port=8082-8084/tcp --permanent

firewall-cmd --list-ports #再次查看是否开放

3.6 测试能否正常访问

设置完成后,通过ip+端口进行访问。



3.7 配置https访问

nginx配置ssl可以参考我之前的一篇文章介绍dockers安装nginx配置ssl的教程。


3.8 认账户名是root,密码存放在配置文件

 gitlab-ce初装以后,把密码放在了一个临时文件里面了。这个文件将在首次执行reconfigure后24小时自动删除,文件内容。


initial_root_password

将Password内容复制去登录界面即可


4、gitlab太占内存,降低gitlab内存占用的配置优化 

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


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

5、端口配置

我这里直接用ip+端口了,修改配置如下,这样仓库地址就带上端口了。


external_url 'http://43.136.xxx.xxx:8080' 【 如果启动external_url 内部nginx80端口会改变,需要加上 nginx['listen_port'] = 80】


映射shell端口为8084端口,需要修改 gitlab_rails['gitlab_shell_ssh_port'] = 8084

容器内Nginx还是默认80访问


nginx['listen_port'] = 80

6、总结

以上就是docker安装gitlab的教程,如果大家安装过程种遇到问题,欢迎留言沟通!


  • 发表于 2023-04-14 00:16
  • 阅读 ( 33 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章