GitLab是一种基于Web的Git仓库管理工具,它允许您在组织或个人级别上创建和管理Git仓库,以便在一个中心位置上执行代码管理和协作工作。GitLab提供了强大的功能,如代码审查、问题跟踪、CI/CD、容器注册表、Wiki和持续集成等。
以下是GitLab的一些主要功能:
代码管理 – GitLab是一个Git仓库管理工具。您可以在GitLab中创建和管理Git仓库,将代码保存到其中,并追踪更改。
问题跟踪 – GitLab的问题跟踪功能使您能够记录问题、缺陷和功能请求,并分配给团队成员进行解决。
代码审查 – GitLab允许您在代码中进行合并请求,以便其他人可以审核和评论您的代码。
持续集成 – GitLab提供了一个内置的CI/CD工具,它允许您自动化构建、测试和部署过程。
容器注册表 – GitLab集成了一个容器注册表,您可以使用它来存储和分享Docker映像。
代码片段 – GitLab允许您创建和分享代码片段,以便其他人可以使用和修改它们。
Wiki – GitLab的Wiki允许您创建和共享文档,并让您的团队成员进行编辑和更新。
权限控制 – GitLab提供了细粒度的权限控制,您可以控制用户、组和项目的访问权限。
实验机器: 192.168.231.238 规格 :8核16G (规格给大点) |
- # 安装依赖,并启动ssh、防火墙开启相应端口、postfix
- [root@gitlab ~]# yum install -y curl policycoreutils-python openssh-server perl
-
-
- 该文章配备了rpm包 直接下载下来上传上到服务器,直接install即可
- rz
-
-
- # 安装完成后会直接启动
- [root@gitlab ~]# yum install gitlab-jh-16.0.3-jh.0.el7.x86_64.rpm
- [root@gitlab ~]# vim /etc/gitlab/gitlab.rb
-
- 将external_url 'http://192.168.249.156' 改成自己的ip,公司内有域名写成域名即可
-
- 初始化,初始化会花费较长时间,请耐心等待
- [root@gitlab ~]# gitlab-ctl reconfigure
- [root@localhost ~]# gitlab-ctl status
- run: alertmanager: (pid 1457) 154s; run: log: (pid 1456) 154s
- run: gitaly: (pid 1454) 154s; run: log: (pid 1433) 154s
- run: gitlab-exporter: (pid 1448) 154s; run: log: (pid 1447) 154s
- run: gitlab-kas: (pid 1443) 154s; run: log: (pid 1424) 154s
- run: gitlab-workhorse: (pid 1440) 154s; run: log: (pid 1438) 154s
- run: logrotate: (pid 1450) 154s; run: log: (pid 1429) 154s
- run: nginx: (pid 1455) 154s; run: log: (pid 1434) 154s
- run: node-exporter: (pid 1441) 154s; run: log: (pid 1439) 154s
- run: postgres-exporter: (pid 1459) 154s; run: log: (pid 1458) 154s
- run: postgresql: (pid 1425) 154s; run: log: (pid 1422) 154s
- run: prometheus: (pid 1453) 154s; run: log: (pid 1451) 154s
- run: puma: (pid 1445) 154s; run: log: (pid 1444) 154s
- run: redis: (pid 1432) 154s; run: log: (pid 1430) 154s
- run: redis-exporter: (pid 1452) 154s; run: log: (pid 1446) 154s
- run: sidekiq: (pid 1437) 154s; run: log: (pid 1435) 154s
直接输入IP即可
用户为root
密码存放在 /etc/gitlab/initial_root_password 文件中,该文件会在24小时后删除
cat /etc/gitlab/initial_root_password
组名为plat-sp
保存刷新即可
在服务器上创建ssh密钥 使用ssh-ketgen 命令
- [root@gitlab ~]# ssh-keygen
-
- 一路回车即可
全部复制
再次打开网页
保存即可
保存刷新即可
- [root@gitlab ~]# vim /etc/gitlab/gitlab.rb
-
- 找到第84行 将注释打开,改成自己的邮箱以及授权码
- gitlab_rails['smtp_enable'] = true
- gitlab_rails['smtp_address'] = "smtp.163.com"
- gitlab_rails['smtp_port'] = 465
- gitlab_rails['smtp_user_name'] = "newrain_wang@163.com"
- gitlab_rails['smtp_password'] = "UWYNCPQOBQFCDLIW"
- gitlab_rails['smtp_domain'] = "smtp.163.com"
- gitlab_rails['smtp_authentication'] = "login"
- gitlab_rails['smtp_enable_starttls_auto'] = false
- gitlab_rails['smtp_tls'] = true
- gitlab_rails['smtp_pool'] = false
- gitlab_rails['gitlab_email_from'] = 'newrain_wang@163.com'
重载配置,启动服务
[root@gitlab ]# gitlab-ctl reconfigure
在web端创建一个用户
保存以后,在邮箱收到邮件
改密码
本地有一个项目
- [root@gitlab ~]# cd /var/opt/gitlab/backups/
-
- gitlab-rake gitlab:backup:create
- [root@gitlab ]# gitlab-ctl stop unicorn
- [root@gitlab ]# gitlab-ctl stop sidekiq
- 执行完备份命令会在backup下生成文件
- [root@gitlab backups]# ls
- 1700553222_2023_11_21_16.5.2-jh_gitlab_backup.tar
-
- 恢复
- [root@gitlab backups]# gitlab-rake gitlab:backup:restore BACKUP=1700553222_2023_11_21_16.5.2-jh
-
- 复制到jh即可
- [root@gitlab backups]# gitlab-ctl start unicorn
- [root@gitlab backups]# gitlab-ctl start sidekiq
- 或
- [root@gitlab backups]# gitlab-ctl restart
总之,GitLab是一个功能强大的工具,可以帮助您更轻松地进行团队协作和代码管理。它是开源的,并且有两个版本可供选择:社区版和企业版。