Linux 本地化部署 GitLab

背景

在公司内部进行GitLab部署的决策源于对协作开发、版本控制和代码管理需求的深入理解。公司面临着日益复杂的软件开发项目,需要一个可靠、高效且安全的平台来支持团队协作,追踪代码变更,以及确保项目的顺利进行。以下是推动公司内部部署GitLab的关键因素:

  1. 安全性与隐私: 公司处理敏感的商业和客户数据,因此有必要在内部服务器上部署GitLab,以确保对代码库和开发活动的安全控制。这种内部化的方法有助于维护对知识产权和敏感信息的精确掌控。

  2. 定制和集成: 部署GitLab在内部服务器上提供了更大的定制和集成灵活性。公司可以根据特定的工作流程和需求进行定制,同时更容易集成GitLab与内部系统和工具,以实现无缝的协作和流程集成。

  3. 网络性能和访问控制: 内部部署GitLab可以最大程度地优化网络性能,减少延迟,提高代码推送和拉取的效率。同时,通过严格的访问控制,确保只有授权人员能够访问敏感的代码库和开发资源。

  4. 合规性和法规要求: 考虑到公司可能受到特定行业的合规性和法规要求的制约,内部部署GitLab允许公司更好地控制和适应这些规定,确保开发活动符合法规要求。

  5. 团队协作和效率: GitLab作为一个全面的协作平台,可以显著提高团队的协作效率。通过内部部署,团队成员可以在一个集成的环境中共享代码、问题、合并请求等信息,从而促进更紧密的合作和更高效的项目管理。

  6. 技术支持和定制服务: 内部部署GitLab使公司能够更轻松地获得专业的技术支持,并有机会定制化服务以满足公司独特的需求。这种定制服务有助于解决公司特定的问题,提高平台的可用性。

在综合考虑了以上因素之后,公司决定在内部服务器上部署GitLab,以满足其日益增长的软件开发需求,并确保在保密性、合规性和效率方面达到最佳水平。这一战略性的决策有望为公司提供一个强大的开发平台,支持其未来的创新和业务增长。

准备

  • 搭载ContOS 7 环境的服务器

GitLab安装部署

配置相关环境,安装相关依赖

yum -y install policycoreutils openssh-server openssh-clients postfix 
  1. policycoreutils
    policycoreutils 是一个包,它提供了 SELinux(Security-Enhanced Linux)的核心工具和服务。SELinux是一个强化的 Linux 安全子系统,用于提供更加细粒度的访问控制和安全策略。

  2. openssh-server openssh-clients
    openssh-server 包含了SSH服务器(sshd),负责接受和处理远程SSH连接。
    openssh-clients 包含了SSH客户端工具,允许本地计算机与远程SSH服务器进行通信。

  3. postfix
    postfix 是一个邮件传输代理(MTA),用于处理邮件的发送和接收。通过安装 postfix,你可以将Linux系统配置为邮件服务器,以便发送、接收和中继邮件。

yum install policycoreutils-python
  1. policycoreutils-python
    policycoreutils-python 是一个软件包,它包含了一些用于与 SELinux 进行交互的 Python 工具和库。这些工具对于管理 SELinux 策略以及诊断和调试 SELinux 问题非常有用。

systemctl enable sshd && systemctl start sshd 
systemctl enable postfix && systemctl start postfix 
  1. 启用和启动 SSH 服务:
    systemctl enable sshd:这个命令将 SSH 服务(sshd)添加到系统启动时自动启用的服务列表中。这样,在系统重新启动时,SSH 服务将自动启动。
    systemctl start sshd:这个命令用于立即启动 SSH 服务。通过执行这个命令,可以在不必重新启动系统的情况下启动 SSH 服务,确保 SSH 服务当前处于运行状态。

  2. 启用和启动 Postfix 服务:
    systemctl enable postfix:这个命令将 Postfix 服务添加到系统启动时自动启用的服务列表中,类似于上述的 SSH 设置。这确保了在系统重新启动时,Postfix 服务会自动启动。
    systemctl start postfix:这个命令用于立即启动 Postfix 服务。Postfix 是一个邮件传输代理(MTA),用于处理邮件的发送和接收。通过启动 Postfix 服务,系统将能够处理邮件相关的任务。

安装gitlab-ce

下载软件包

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm --no-check-certificate
  1. wget:这是一个用于从网络下载文件的命令行实用工具。它通常在类Unix操作系统中使用。

  2. https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm:这是要下载的文件的URL。在这种情况下,它是适用于el7(Enterprise Linux 7)发行版的GitLab Community Edition(CE)的RPM格式软件包。版本为12.9.0-ce.0,针对x86_64架构构建。

  3. --no-check-certificate:这个选项禁用SSL证书检查。在通过HTTPS连接到服务器时使用,它告诉wget不要验证服务器的SSL/TLS证书。这在证书是自签名的或者存在证书验证问题时很有用。

小插曲:

  1. wget:command not found  的解决办法:yum install wget
  2. Issued certificate has expired 的解决办法:加参数 --no-check-certificate

安装软件包

rpm -ivh gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm
  1. rpm:这是用于处理RPM包的命令行工具。

  2. -ivh:这是rpm命令的选项,指定了安装模式以及输出的详细程度。

    • -i:表示安装模式。
    • -v:表示详细模式,即在安装过程中显示详细信息。
    • -h:表示以哈希(hash)形式显示进度。
  3. gitlab-ce-12.9.0-ce.0.el7.x86_64.rpm:这是要安装的RPM包的文件名。在这个例子中,是GitLab Community Edition(CE)的版本为12.9.0-ce.0,适用于el7(Enterprise Linux 7)发行版,针对x86_64架构构建的RPM软件包。

修改gitlab配置文件

vi /etc/gitlab/gitlab.rb

找到 external_url,根据实际需要将 url 改为对应的 ip +端口或域名等,最后 :wq 保存。

重新加载配置

gitlab-ctl reconfigure

命令拓展:

#重启命令
gitlab-ctl restart

#查看启动日志
gitlab-ctl tail

开放防火墙端口

gitlab 默认端口是80,可以修改其他端口

#开放80端口
##–zone=public:指定了要配置的防火墙区域。在这里,public 是一个预定义的防火墙区域,它对应于一个公共网络;
##–add-port=80/tcp:指定要打开的端口。在这个例子中,它是端口号 80,并且指定了使用 TCP 协议;
##–permanent:表示这是一个永久性的配置更改。这意味着一旦这个命令被执行并且防火墙重新加载,所指定的端口将在系统重新启动后仍然保持打开。
firewall-cmd --zone=public --add-port=80/tcp --permanent

#重启防火墙
systemctl restart firewalld.service

访问GitLab

用户名为:root

密码(输入以下命令自行查看):

vi  /etc/gitlab/initial_root_password 

到此,恭喜您成功完成 GitLab 的本地安装部署!你现在拥有一个强大的版本控制和协作平台,可以在本地环境中使用。

在结束之前,为你提供一些建议和提示:

  1. 验证安装: 在浏览器中访问你的 GitLab 实例,确保能够登录并访问仪表板。检查是否一切正常,包括项目的创建和存储库的访问。

  2. 定期备份: 定期备份 GitLab 数据是一个良好的实践。确保备份包括数据库、存储库和配置文件。

  3. 安全性配置: 根据你的需求,考虑配置 HTTPS、用户身份验证和其他安全性设置。确保 GitLab 实例受到保护。

  4. 社区支持: 如果你在使用 GitLab 过程中遇到问题,可以参考 GitLab 的官方文档和社区论坛。GitLab 社区非常活跃,你可以在那里获得帮助和支持。

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹进衣襟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值