CentOS 7搭建gitlab服务

一、什么是gitlib

Gitlab 是一个基于Git实现的在线代码仓库托管软件,你可以用Gitlab自己搭建一个类似于Github一样的系统平台,一般搭建gitlab私服就是用在公司的内部

Gitlab 功能就是能够对代码的提交审核和问题跟踪,这个对于软件工程质量的管理是至关重要的

Gitlab分为社区版(CE) 和 企业版(EE) 我感觉大多数的公司还是会选择社区版,反正我们公司是要用社区版的

部署Gitlab 是对服务器有配置要求的 建议是CPU两核,内存4G以上(其实这就是废话了,谁家公司还没这样配置的服务器呀,主要还是给虚拟机玩的朋友们提示一下)

二、实现的原理

其实gitlab的原理就是git的原理,GitHub不是也是基于Git的呀,所有简单说一下Git的原理吧
在这里插入图片描述

上面的就是整个Git的工作流程:

其实上面的都是一些GIt的命令,先不管命令是做什么的,这里面有四个大块的东西,他们分别是

  1. Remote:远程仓库
  2. Repository:本地仓库
  3. index:暂存区
  4. workspace:工作区
Remote远程仓库:
远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库修改,因此它可能与本地仓库同步,也可能不同步,但是它的内容是最旧的<br>
 
Repository本地仓库: 
这里面保存了对象被提交过的各个版本,比起工作区和暂存区的内容,它更旧一些
git commit 后同步index的目录树到本地仓库,方便下一步通过git push同步本地仓库与远程仓库的同步<br>
 
index暂存区:
.git目录下的index文件,暂存区会记录git add 添加文件的相关信息(文件名、大小),不保存文件实体,通过id指向每个文件的实体,可以使用git status查看暂存区的状态,暂存区标记了你当前工作区中那些内容是被git管理的
当你完成某个需求或者功能后需要提交代码,那么第一步就是通过git add 先提交到暂存区,被git管理<br>
 
workspace工作区: 
程序员进行开发改动的地方,是你当前看到的,内容也是最新的
平常我们开发就是拷贝远程仓库中的分支,基于该分支进行开发,在开发的过程就是在工作区的操作<br>
 
总结:
任何对象都是在工作区中诞生和修改的 
任何修改都是从进入index区才开始被版本控制的 
只有把修改的代码提交到本地仓库,该修改才能在仓库中留下痕迹
与协助者分享本地的修改,可以push到远程仓库来共享

下面这张图很明确的表现了他们的关系

在这里插入图片描述

三、Gitlab的服务构成

Gitlab有好多个东西一起构成的,分别是:

  1. Nginx:静态Web服务器
  2. gitlab-shell:用于处理Git命令和修改authorized keys列表
  3. gitlab-workhorse:轻量级的反向代理服务器(这个是个敏捷的反向代理,它会处理一些大的HTTP请求,比如文件的上传下载,其他的请求会反向代理给Gitlab Rails应用)
  4. logrotate:日志文件管理工具
  5. postgresql:数据库
  6. redis:缓存数据库
  7. sidekiq:用于在后台执行队列的任务
  8. unicorn:Gitlab Rails应用是托管在这个服务器上面的
四、Gitlab的优点
  1. git是分布式的,svn不是
    git分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看log。
  2. GIT分支和SVN的分支不同
    分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。
  3. git有一个强大的代码仓库管理系统 - gitlab
    可以很方便的管理权限、代码review,创建、管理project
五、安装配置gitlab
5.1. 安装依赖包
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
5.2. 启动postfix,并设置开机自启
systemctl start postfix
systemctl enable postfix
5.3. 设置防火墙
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
 
或者
关闭防火墙
systemctl stop firewalld.service #停止firewall
 
systemctl disable firewalld.service #禁止firewall开机启动
5.4. 下载安装gitlab rpm包

清华开源镜像站 :https://mirrors.tuna.tsinghua.edu.cn/

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.1.6-ce.0.el7.x86_64.rpm
 
rpm -i gitlab-ce-11.1.6-ce.0.el7.x86_64.rpm
5.5. 修改配置文件gitlab.rb

vim /etc/gitlab/gitlab.rb

## GitLab configuration settings
##! This file is generated during initial installation and **is not** modified
##! during upgrades.
##! Check out the latest version of this file to know about the different
##! settings that can be configured by this file, which may be found at:
##! https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/files/gitlab-config-template/gitlab.rb.template
 
 
## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
#external_url 'http://gitlab.example.com'
external_url 'http://192.168.73.134'        # 修改这个地方
5.6. 重新加载配置文件
gitlab-ctl reconfigure
gitlab-ctl restart
5.7. 查看gitlab版本
head -1 /opt/gitlab/version-manifest.txt
六、汉化配置
6.1.下载最新汉化包
git clone https://gitlab.com/xhang/gitlab.git
6.2. 停止服务
gitlab-ctl stop
6.3. 切换到gitlab汉化包所在的目录
cd /root/gitlab
6.4. 比较汉化标签和原标签,导出 patch 用的 diff 文件到/root下
git diff v11.1.6 v11.1.6-zh > ../11.1.6-zh.diff
6.5. 将10.0.2-zh.diff作为补丁更新到gitlab中
cd ~
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.1.6-zh.diff
6.6. 启动gitlab并重新配置gitlab
gitlab-ctl start
gitlab-ctl reconfigure
七、设置发邮件功能
7.1. 修改配置文件

vim /etc/gitlab/gitlab.rb

# 配置发送邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "smtp user@163.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
# 修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "smtp user@163.com"
user["git_user_email"] = "smtp user@163.com"
7.2. 重新加载配置并重启服务
gitlab-ctl reconfigure
gitlab-ctl restart
八、测试使用

ip+端口号登录

在这里插入图片描述

转载自:https://www.cnblogs.com/zhujingzhi/p/9703457.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是CentOS 7搭建GitLab服务器的大致步骤: 1. 安装必要的依赖包:sudo yum install curl policycoreutils-python openssh-server 2. 安装Postfix以支持发送邮件:sudo yum install postfix 3. 添加GitLab仓库:curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash 4. 安装GitLab:sudo yum install gitlab-ce 5. 配置并启动GitLab:sudo gitlab-ctl reconfigure 注意:以上步骤仅提供参考,具体安装过程请参考GitLab官方文档。 ### 回答2: GitLab是一款基于Git的Web平台,用于管理Git仓库、代码审查、问题跟踪以及自动构建等。CentOS 7上安装GitLab服务器需要经过如下步骤: 1. 更新系统 首先,你要更新CentOS 7操作系统,以确保安装过程中使用最新版本的软件包。可以使用以下命令完成系统升级: ``` sudo yum update -y ``` 2. 安装必要软件 在安装GitLab之前,需要确保系统上安装了一些必要软件,包括curl,policycoreutils和Postfix等。可以使用以下命令安装这些软件: ``` sudo yum install -y curl policycoreutils openssh-server openssh-clients postfix ``` 在安装Postfix时,你需要选择“Internet Site”选项。 3. 安装GitLab 接下来,你可以使用官方的GitLab安装脚本安装GitLab。可以使用以下命令下载和运行脚本: ``` curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install -y gitlab-ce ``` 该脚本将会添加GitLab官方的yum存储库,以便自动安装最新版本的GitLab。 4. 配置GitLab 安装GitLab后,你需要对其进行一些配置以使其正常运行。你可以使用以下命令编辑GitLab配置文件: ``` sudo vi /etc/gitlab/gitlab.rb ``` 你需要根据具体需求和安全需求在文件中设置适当的值。最重要的配置参数如下: ``` # 配置GitLab的外部URL external_url 'http://gitlab.example.com' # 配置邮件服务,用于发送通知 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "[email protected]" gitlab_rails['smtp_password'] = "password" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true # 配置GitLab SSH监听地址 gitlab_rails['gitlab_ssh_host'] = 'ssh.example.com' gitlab_rails['gitlab_ssh_port'] = 22 # 配置LDAP身份验证(可选) gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-EOS main: label: 'LDAP' host: 'ldap.example.com' port: 636 uid: 'sAMAccountName' bind_dn: 'CN=GitLab,OU=Service Accounts,DC=example,DC=com' password: 'password' encryption: 'simple_tls' verify_certificates: false active_directory: true allow_username_or_email_login: true block_auto_created_users: false base: 'DC=example,DC=com' EOS ``` 5. 重新配置GitLab 完成配置文件的编辑后,你需要重新配置GitLab以应用新的设置: ``` sudo gitlab-ctl reconfigure ``` 这会执行所有必要的配置更改,以确保GitLab可以正常运行。 6. 访问GitLab 在完成GitLab的安装和配置后,你可以通过浏览器访问GitLab,登录并创建仓库、添加用户等操作。GitLab默认使用HTTP协议,可以在配置文件中配置为HTTPS。 GitLab是一款功能强大的版本控制平台,可以用于开发和团队协作。CentOS 7上的安装和配置也非常简单,只需要按照以上步骤进行即可。 ### 回答3: CentOS 7 搭建 GitLab 服务Git是一个版本控制系统,可用于共享和管理源代码、文本文件、电子文档等等。GitLab是一个源代码管理器,提供自托管 Git repos、代码评审、CI/CD、问题跟踪等功能。在本文中,我们将介绍在 CentOS 7 上搭建 GitLab 服务器的过程。 准备工作: 准备一台安装了 CentOS 7 操作系统的主机。 确保主机的防火墙开放了HTTP/HTTPS端口。 确保主机已连接到互联网。 安装必要的软件包: 在开始之前,我们需要确保在服务器上安装了常见的软件包: sudo yum install -y curl policycoreutils-python openssh-server sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-service=http --add-service=https sudo systemctl reload firewalld 安装 GitLab CE: GitLab有两个版本:CE和EE。CE是社区版,免费使用;EE是企业版,需要付费才能使用。在我们的例子中,我们将使用GitLab CE搭建我们的源代码管理器。 sudo yum install -y postfix sudo systemctl enable postfix sudo systemctl start postfix curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install -y gitlab-ce sudo gitlab-ctl reconfigure 我们现在可以通过浏览器访问GitLab web UI。在浏览器中键入服务器IP地址,然后会显示GitLab设置向导。根据您的要求来自定义您的GitLab实例。 初始登陆到GitLab: 在第一次登录 GitLab 时,您将被要求输入初始管理员密码。此密码随后需要更改。此外,还要求您更改登记用户的密码。 首先,用IP访问和端口号(默认为80)打开网站,然后选择更改密码: 输入初始管理员密码。 创建新密码以继续。 创建新用户: 现在我们需要创建用于GitLab的新用户。登陆到GitLab并点击右上角的"Add user"。 ``` 输入用户名和用户密码。 为新用户分配一个角色("reporter" 或 "developer"),并单击"Create user"。 ``` 我们已经安装并配置了GitLab服务器。这是一个初始过程,并且需要根据您的项目需要进行自定义。现在你可以开始创建和管理Git仓库,共享代码并管理您的项目。 总结: 在CentOS 7上搭建GitLab服务器非常简单,只需要几个步骤。首先,您需要确保服务器上安装了必要的软件包,例如SSH,firewalld,以打开HTTP和HTTPS端口。然后,您需要使用GitLab安装脚本安装GitLab。一旦安装成功了,您可以使用Web页面登录到GitLab,并开始上传和共享代码库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值