首页 > 其他分享 >Gitlab仓库管理系统-高可用部署

Gitlab仓库管理系统-高可用部署

时间:2024-08-12 14:54:56浏览次数:7  
标签:gitlab 管理系统 仓库 Gitlab smtp rails ctl password GitLab

1、Gitlab介绍

GitLab是一个流行的版本控制系统平台,主要用于代码托管、测试和部署。

GitLab是基于Git的一个开源项目,它提供了一个用于仓库管理的Web服务。GitLab使用Ruby on Rails构建,并提供了诸如wiki和issue跟踪等功能。它允许用户通过Web界面访问公开或私有的项目,并能够管理团队对仓库的访问权限。此外,GitLab还支持持续集成(CI)和持续部署(CD),使其成为软件开发过程中的重要工具。

GitLab的主要特点包括:

  1. 版本控制:作为一个基于Git的平台,GitLab提供了强大的版本控制功能,允许用户创建分支、合并代码以及处理冲突。
  2. 代码审查:GitLab支持代码审查流程,团队成员可以对提交的代码进行评论和讨论。
  3. 项目管理:通过Issue和Merge Request等特性,GitLab帮助团队跟踪进度和管理任务。
  4. 持续集成/持续部署:GitLab CI/CD是其核心功能之一,支持自动化的构建、测试和部署流程。
  5. 自托管与云服务:GitLab可以自行在本地服务器上部署,也可以使用GitLab提供的云服务。
  6. 内置工具:GitLab提供了一系列的内置工具,如容器扫描、安全性报告、性能分析等,以增强开发流程的安全性和效率。
  7. 社区版和企业版:GitLab提供社区版(CE)和企业版(EE),社区版免费开放,而企业版提供了更多的高级功能。

2、GitLab与Git的关系,以及GitHub的区别和联系

GitLab是在Git的基础上搭建起来的,与GitHub有着相似的功能但也存在一些差异。

首先,Git是一个分布式版本控制系统,而GitLab和GitHub都是基于这个系统建立起来的平台。

GitLab的主要优点在于它的开源特性,允许用户在私有服务器上运行,这对于企业内部网络构建私有仓库非常有用。而GitHub虽然提供了类似的服务,但其核心是面向开源项目的托管平台,对于私有仓库则有一定的收费政策。

其次,GitLab提供了免费的无限私有存储库,适合企业、学校等内部网络搭建git私服。相比之下,GitHub的私有仓库需要付费。此外,GitLab还提供了企业版(GitLab EE),它包含了更高级的功能,如访问控制、安全性以及合规性等。

最后,GitHub因其较早成立,拥有更广泛的用户基础和社区支持。这使得GitHub在全球开发者中的知名度和使用率都较高。而GitLab虽然相对较新,但由于其开源和免费的特性,也逐渐获得了市场的认可。

3、搭建Gitlab

3.1、下载gitlab-ce的rpm软件包

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/7/gitlab-ee-16.10.0-ee.0.el7.x86_64.rpm

3.2、rpm安装gitlab

rpm -ivh gitlab-ee-16.10.0-ee.0.el7.x86_64.rpm

安装完成后截图如下:

3.3、创建gitlab存储目录

创建gitlab数据存储目录
mkdir -p /nfs/gitlab/gitdata
创建gitlab备份存储目录
mkdir -p /nfs/gitlab/backups

3.3、修改gitlab配置文件

vi /etc/gitlab/gitlab.rb

修改访问地址
external_url 'http://10.1.16.173'

修改GitLab服务器时区
gitlab_rails[‘time_zone’] = 'Asia/Shanghai'

修改数据存储目录
git_data_dirs({
   "default" => {
     "path" => "/nfs/gitlab/gitdata"
    }
})

设置邮箱服务
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "emailsmtp02.mindray.com"
gitlab_rails['smtp_port'] = 25
# gitlab_rails['smtp_user_name'] = "smtp user"
# gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "mindray.com"
# gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_pool'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'none'

修改日志存放路径
gitlab_rails['log_directory'] = "/nfs/gitlab/log"

停止当前gitlab,重新加载配置

gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start

  重新加载后,会发现在/nfs/gitlab/gitdata目录下多出一个repositories目录
  最后启动gitlab即可
  gitlab-ctl restart

访问web系统
http://10.1.16.173

此时应该看到的是 GitLab 登录界面。在 GitLab 第一次初始化时,会自动生成一个管理员账户。其中,该账户的用户名为 root,密码在一个自动生成的文件 /etc/gitlab/initial_root_password 中(密码不会含空格),且会在 24 小时后自动被删除。

现在要做的是,先备份上述的文件 initial_root_password,然后登录管理员账户修改管理员密码。新密码长度不能小于 8 位。

[root@hqiotnfs01l ~]# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: kCsRV6ijYc3X2RceyfdhZEB5E7OqXBjESLpQrCrpY/0=

修改密码
root
XXXXXXXX

3.4、gitlab相关命令

#启动服务
gitlab-ctl start
#停止服务
gitlab-ctl stop
#重启服务
gitlab-ctl restart
#状态
gitlab-ctl status
#监控
gitlab-ctl  tailunicorn 监控unicorn日志
gitlab-ctl  tail

查看Gitlab 安装包
rpm –qa | grep gitlab

删除gitlab
rpm –e gitlab-ce

查看gitlab 进程
ps aux | grep gitlab

杀掉所有gitlab 进程
Kill –9  进程号

删除所有包含gitlab文件
find / -name | grep gitlab rm -rf

 

标签:gitlab,管理系统,仓库,Gitlab,smtp,rails,ctl,password,GitLab
From: https://www.cnblogs.com/tianxiang2046/p/18354791

相关文章

  • 当仓库隔离时候在其他表单中获取仓库对应的库存
    #引入clr运行库importclr#添加对cloud插件开发的常用组件的引用clr.AddReference('System')clr.AddReference('System.Data')clr.AddReference('Kingdee.BOS')clr.AddReference('Kingdee.BOS.Core')clr.AddReference('Kingdee.BOS.App'......
  • 基于SpringBoot+MySQL+SSM+Vue.js的物业管理系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的物业管理系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+Sprin......
  • Springboot计算机毕业设计公益捐赠管理系统r9m00
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表捐赠者,领取者,物品分类,物品捐赠,旧物展示,物品退还,物品领取,退还管理,回收管理,回收站,物品需求,在线捐赠,需求展示,在线聊天开题报告内容一、研究背景随着......
  • 基于flask+vue框架的基于Web民宿管理系统的设计与实现[开题+论文+程序]-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,民宿作为一种新兴的住宿方式,凭借其独特的文化体验、个性化的服务以及灵活的价格策略,逐渐受到广大旅行者的青睐。然而......
  • springboot高校实验室安全管理系统-计算机毕业设计源码73839
    目 录摘要1绪论1.1研究背景1.2 选题意义1.3研究方案1.4论文章节安排2相关技术介绍2.1B/S结构2.2SpringBoot框架2.3Java语言2.4MySQL数据库3系统分析3.1可行性分析3.2 系统功能性分析3.3.非功能性分析3.4 系统用例分析3.5系统......
  • springboot电影院购票管理系统-计算机毕业设计源码71301
    目 录摘要1绪论1.1选题背景与意义1.2开发现状1.3论文结构与章节安排2 电影院购票管理系统系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3操作可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3 ......
  • 计算机毕业设计必看必学! ! 89344 springboot大学生就业管理系统,原创定制程序, java、
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对大学生就业管理系统等问题,对大学生就业管理系统进行研究分析,然后开发设计出大学生就业管理......
  • 基于SpringBoot框架的企业财务管理系统设计与实现(论文+源码)_kaic
    摘  要在快速增长的信息时代,每个企业都在紧随其后,不断改进其办公模式。与此同时,各家企业的传统管理模式也逐步发生变化,政府和企业都将需要一个更加自动化和现代化的财务管理系统。这能够便利员工之间的信息交流和公司的工作任务进而提高工作效率。因此对现有的系统进行调......
  • 基于Java的考试信息报名系统 SpringBoot考试报名管理系统 Vue前后端分离【Java毕业设
    ⛄博主介绍:⚡全栈开发工程师,精通Web前后端技术、数据库、架构设计。专注于Java技术领域和小程序领域的开发,毕业设计、课程设计项目中主要包括定制化开发、源代码、代码讲解、文档报告辅导、安装调试等。✅文末获取联系✅目录1项目介绍 2技术选型 3系统总体设计 4......
  • 搭建docker私有仓库
    1.创建仓库镜像存放路径mkdir-p/opt/registry/registry2.生成帐号密码#安装密码生成命令htpasswd##centosyum-yinstallhttpd-tools##ubuntu/debian/deepinaptinstallapache2-utils#生成密钥文件touch/opt/registry/passwdhtpasswd-Bbnusernamepassw......