1、Gitlab介绍
GitLab是一个流行的版本控制系统平台,主要用于代码托管、测试和部署。
GitLab是基于Git的一个开源项目,它提供了一个用于仓库管理的Web服务。GitLab使用Ruby on Rails构建,并提供了诸如wiki和issue跟踪等功能。它允许用户通过Web界面访问公开或私有的项目,并能够管理团队对仓库的访问权限。此外,GitLab还支持持续集成(CI)和持续部署(CD),使其成为软件开发过程中的重要工具。
GitLab的主要特点包括:
- 版本控制:作为一个基于Git的平台,GitLab提供了强大的版本控制功能,允许用户创建分支、合并代码以及处理冲突。
- 代码审查:GitLab支持代码审查流程,团队成员可以对提交的代码进行评论和讨论。
- 项目管理:通过Issue和Merge Request等特性,GitLab帮助团队跟踪进度和管理任务。
- 持续集成/持续部署:GitLab CI/CD是其核心功能之一,支持自动化的构建、测试和部署流程。
- 自托管与云服务:GitLab可以自行在本地服务器上部署,也可以使用GitLab提供的云服务。
- 内置工具:GitLab提供了一系列的内置工具,如容器扫描、安全性报告、性能分析等,以增强开发流程的安全性和效率。
- 社区版和企业版: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