今晚闲来无事,尝试了下自己搭建一台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. CSS3之transition

    随着css3不断地发展,越来越多的页面特效可以被实现. 例如当我们鼠标悬浮在某个tab上的时候,给它以1s的渐进变化增加一个背景颜色.渐进的变化可以让css样式变化得不那么突兀,也显得交互更加柔和. ...

  2. [转帖]grafana配置邮件发送

    grafana的邮件配置文件是/etc/grafana/grafana.ini,新建grafana.ini文件,内容如下. chown 472:472 grafana.ini ############ ...

  3. 【转帖】bpftrace 指南

    文章目录 0. bpftrace 0.1 bpftrace组件 0.2 bpftrace 帮助信息 0.3 bpftrace 工具速览表 0.4 bpftrace 探针 0.4.1 tracepoin ...

  4. [转帖]一次操作系统报错OutOfMemory Error的处理记录

    在启动公司内嵌的tomcat容器时出现报错, 如下: # There is insufficient memory for the Java Runtime Environment to contin ...

  5. [转帖]oracle如何删除datafile,误删除Oracle datafile 无法打开数据库

    1.在Oracle open方式下,直接从OS上删除了datafile文件. rm /u02/rmants.dbf 2.数据库关闭后,无法打开数据库,只能到mount状态. SQL> alter ...

  6. STM32CubeMX教程25 PWR 电源管理 - 睡眠、停止和待机模式

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm ...

  7. 【JS 逆向百例】PEDATA 加密资讯以及 zlib.gunzipSync() 的应用

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...

  8. 3.5 Windows驱动开发:应用层与内核层内存映射

    在上一篇博文<内核通过PEB得到进程参数>中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实 ...

  9. 3.1 Windows驱动开发:内核远程堆分配与销毁

    在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了ZwAllocateVirtualMemory这 ...

  10. layui下拉框可手动输入

    先看效果 layui版本:layui@2.8.17 HTML代码: <div class="layui-form-item"> <label class=&quo ...