今晚闲来无事,尝试了下自己搭建一台git服务器,很多人可能不明白平时自己随手就可以提交代码,为什么还要自己搭建服务器呢?首先你有没有考虑过你是怎么能把代码提交上去的?如果公司突然有一天需要你来负责搭建一台git服务器,你要怎么办?git的功能十分强大,只搭建服务器已经是最简单的工作了,后面还得考虑权限如何设置,如何利用git进行CICD……

一、安装虚拟机Linux

现实开发中,服务器基本都是Linux系统,很少有Windows,而本人服务器系统版本为:Centos 7 64位 。

服务器选择:

  • 本地虚拟机 「推荐使用, 自己装系统,比较繁琐,只要电脑内存足够,可更具需要调整内存,穷人必备」
  • 云主机 「GitLab 至少要 3G 以上内存, 很占用内存,emmmm~ 不便宜」

安装的过程就不多啰嗦了,安装好了以后需要设置几个非常重要的配置:

1.先在VMware Workstation进入编辑按钮设置,选择虚拟网络编辑器

2.然后选择NAT模式

3.选择虚拟机,点击设置

4、进入虚拟机,进入到网络配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

将ONBOOT=no 设置成为ONBOOT=yes,同时将ip地址设置为固定ip,防止每次重启后改变

#添加如下配置

ONBOOT="yes"
IPADDR=192.168.253.5
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=8.8.8.8
DNS2=114.114.114.114
PEERDNS=no

5、然后重启网卡

service network restart

踩坑点:此时,虚拟机就设置完毕,但是如果你发现你的虚拟机依旧无法访问网络,那么就要设置本地机器网络为固定ip,操作如下:

(1)找到本地网络适配器中,虚拟机所对应的NAT网络,

(2)右击--属性--ipv4属性,选择使用下面的ip地址,此处的ip设置一定不要和虚拟机的ip地址一样,否则无法访问网络哦,切记切记!!!

网关要和ip在同一个网段

上述设置完毕以后,你的虚拟机的就设置好了,也可以访问网络了!

二、安装Xshell工具

安装这个工具本身没什么问题,有问题的大家可以自行百度,问题在于本人犯的一个错误就是控制面板那里设置的ip地址和centOS的ipAddress(即用ifconfig -a查出来的ip地址)设置成一样了,导致一直都没有连接成功,这个大家一定要避坑,否则连接不上。

三、安装gitlab

安装gitlab有几种方式:docker的方式安装,另一种就是直接安装在Linux,两种方式各有利弊,docker的话就不用管端口冲突之类的问题,所以我选择直接安装到Linux,因为我的这台机器只用来做git。

一般都是使用如下命令:

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

1.但是由于我的机器上无法解析该地址(如果无法解析,可以试试安装一下证书:yum install -y ca-certificates),所以我选择在本地下载git后上传到Linux,就是在本地浏览器直接访问:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm

下载好了以后,使用winscp直接吧下载好的gitlab Linux安装文件上传到虚拟机上去

2.在Xshell上用命令进入到保存gitlab文件的文件夹内,我的在usr/local/gitlab 文件夹中


#进入到gitlab的安装目录
cd usr/local/gitlab
#执行如下命令安装ssh
yum -y install curl policycoreutils openssh-server openssh-clients

3.出现Complete即安装完成

4.执行如下命令进行gitlab的安装

rpm -i gitlab-ce-12.2.1-ce.0.el7.x86_64.rpm   #出现如下界面需等待

  

安装成功!!!

5.执行如下命令,打开配置文件,并将地址修改为你的虚拟机地址

vi /etc/gitlab/gitlab.rb

 重点来了:由于在上文中防火墙已开启,则需要把相应的端口8600放开。


firewall-cmd --zone=public --add-port=8600/tcp --permanent
1.使gitlab的配置文件生效,这一步时间较长,耐心等待
sudo gitlab-ctl reconfigure
2.重启gitlab
sudo gitlab-ctl restart
此时,在浏览器中输入gitlab的ip和端口号,无法访问!!!!

  

重中之重

#linux系统开放8600端口

cd /etc/sysconfig

ls -l

没有查看到iptables文件,但存在ip6tables-config和iptables-config,本文中的linux为CentOS 7.6 ,CentOS 7默认没有了iptables文件

安装iptables-services

yum install iptables-services

 启动iptables

systemctl enable iptables 

systemctl start iptables

 在iptables中配置开放8600端口

vim /etc/sysconfig/iptables

 把这句话添加配置文件中:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8600 -j ACCEPT

重启防火墙

service iptables restartj 

结束!!!!

到此gitlab就搭建完毕了,浏览器中输入:http://192.168.253.5:8600

 

CentOS7中搭建GitLab踩坑实录的更多相关文章

  1. Linux系统搭建GitLab---阿里云Centos7搭建Gitlab踩坑

    一.简介 GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装. 它拥有与GitHub类似的功能,能 ...

  2. centos7 中搭建gitlab

    1.在virtual box中新建一个虚拟机 2.gitlab ce(community版本)地址:https://about.gitlab.com/installation/#centos-7?ve ...

  3. 后端路由项目由 gulp 改为 webpack 的踩坑实录

    前言 公司有个后端路由的项目是用 gulp 作为前端自动化构建工具,最近学习了一下 webpack,深感其强大,一狠心将其改成了 webpack 构建,以下是踩坑实录. gulp 先来说说原来的架构. ...

  4. JAVA实用案例之文件导出(JasperReport踩坑实录)

    写在最前面 想想来新公司也快五个月了,恍惚一瞬间. 翻了翻博客,因为太忙,也有将近五个多月没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六 ...

  5. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  6. ffmpeg 踩坑实录 添加实时水印(二)

    一.背景介绍 最近领导要求做一个视频录制的相关项目.其中,需要对视频文件进行添加 实时时间水印.于是,我想到了使用之前的ffmpeg来做. 二.ffmpeg实际操作 首先把需要添加水印的视频文件,上传 ...

  7. JasperReport报表导出踩坑实录

    写在最前面 翻了翻博客,因为太忙,已经好久没认真总结过了. 正好趁着今天老婆出门团建的机会,记录下最近这段时间遇到的大坑-JasperReport. 六月份的时候写过一篇利用poi文件导入导出的小De ...

  8. centos7中搭建ftp服务

    博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的 ...

  9. centos 7( linux )下搭建elasticsearch踩坑记

    原文:https://blog.csdn.net/an88411980/article/details/83150380 概述    公司最近在做全文检索的项目,发现elasticsearch踩了不少 ...

  10. nginx搭建网站踩坑经历

    为了更好的阅读体验,请访问我的个人博客 前言 早上刷抖音刷到一个只需要三步的nginx搭建教程(视频地址),觉得有些离谱,跟着复现了一遍,果然很多地方不严谨并且省略了大量步骤,对于很多不了解linux ...

随机推荐

  1. WPF|分享一个登录界面设计

    分享一个登录界面,先看效果图: 准备 文中使用到了一些图标: 我们可以从 iconfont免费下载: 代码简单说明 请随手创建一个WPF项目(.NET Framework..NET 5\6\7皆可), ...

  2. 01-Shell脚本入门

    1.Shell介绍 1.1 疑问 linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等? 答: 使用linux的内核操作计算机的硬件 1.2 Shell介绍 通过编写Shell命令发送给li ...

  3. 【java】 向上转型的运用

    应用 :求面积 1,抽象类  Geometry . public abstract class Geometry { public abstract double getArea(); } 2,矩形 ...

  4. 【面试题精讲】说一说springboot加载配置文件优先级

    有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 文章更新计划 系列文章地址 Spring Boot 加载配置文 ...

  5. 极简版本Clickhouse监控步骤

    极简版本Clickhouse监控步骤 背景 昨天处理了 鲲鹏920 上面的Clickhouse 的基于Docker的安装与部署 今天想着能够继续处理一下 增加监控信息 能够实现对clickhouse使 ...

  6. [转帖]003、体系结构之TiKV持久化

    TiKV架构和作用 数据持久化 分布式一致性 MVCC 分布式事务 Coprocessor coprocessor : 协同处理器. 可以将一些SQL计算交给TiKV处理.不需要将TiKV所有数据通过 ...

  7. [转帖]TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践

    返回全部 边城元元案例实践2022-08-02 复杂业务查询对于传统的关系型数据库来说是一种考验,而通过 TiKV 行存与 TiFlash 的列存结合使用就能很好地应对.本文根据 TUG 用户边城元元 ...

  8. [转帖]使用S3F3在Linux实例上挂载Bucket

    https://docs.jdcloud.com/cn/object-storage-service/s3fs S3F3是基于FUSE的文件系统,允许Linux 挂载Bucket在本地文件系统,S3f ...

  9. [转帖]Linux终端:用cat命令查看不可见字符

    https://developer.aliyun.com/article/80607 printf 'testing\012\011\011testing\014\010\012more testin ...

  10. [转帖]配置logback上报日志到Skywalking

    https://zhuanlan.zhihu.com/p/506119895 配置logback上报日志到Skywalking 配置logback上报日志到skywalking需要引入toolkit依 ...