原文地址:https://blog.csdn.net/zhushuai662/article/details/79581377
大家常听说Git、Github、Gitlab,很多人对着三个词很懵逼,分别讲一下这三个是什么意思。

  Git是一个开放源码的版本控制软件,还可以把我们的代码push到远程仓库。

  Github是一个网站,提供给用户空间创建git仓库,保存用户的一些数据文档或者代码等。

  Gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来web服务。可以理解为你自己专属的github,功能基本一样,一般公司都会有自己的代码仓库
下面讲一下Gitlab如何在Linux服务器(centos7版本)上搭建。
服务器内存建议4G以上,我的是8g内存,CentOS Linux release 7.4.1708 (Core),执行以下代码一路畅行,
为什么要说这个呢,之前我用国外的512M小霸王服务器,鼓捣了一下午都不可以,解决所有报错后,更是在最后一步服务器死机,彻底GG
1、在系统防火墙中打开http和ssh的出口。
sudo yum install -y curl policycoreutils-python openssh-server
 控制台输出“Complete!”后继续执行命令: 
sudo systemctl enable sshd 

sudo systemctl start sshd
 使sshd服务器自动启动,然后执行: 
sudo firewall-cmd --permanent --add-service=http 
  在执行这句命令如果出现“FirewallD is not running”的提示,则表示防火墙未打开,
  可以执行“sudo systemctl status firewalld”查看防火墙状态,如果防火墙是“dead”状态,
  可以执行“sudo systemctl start firewalld”命令启动防火墙。
  再返回执行上面的添加服务命令,如果出现“success”则执行成功。
  最后执行下面命令reload防火墙。 sudo systemctl reload firewalld
  加入Gitlab的邮件服务,用于接受邮件。执行下面的命令:
sudo yum install postfix sudo systemctl enable postfix 

sudo systemctl start postfix 
  如果不想使用Gitlab提供的邮件服务,可以跳过上面的命令,在安装完Gitlab后,配置自己的邮件服务 

2、安装Gitlab。 执行下面命令安装仓库 
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash  
  接下来安装Gitlab安装包,执行下面的命令:
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee 
  “http://gitlab.example.com”可以更改为你想要访问Gitlab实例的url,如果要安装https,需要在安装完成后额外配置。
  比如设置为 "http:172.168.10.251:8088" 搭建完成后就可以通过这个地址访问gitlab
  执行这个命令将会下载比较大的安装包,时间会长一些,可以耐心等待。 3、打开浏览器登录。 第一次登录时,Gitlab会让你修改密码,修改后使用root账户和新密码登录。
    
如果忘记设置初始密码,可以通过后台设置
  
cd /opt/gitlab/bin

sudo gitlab-rails console production   #需要等几秒运行程序

u=User.where(id:)

u.password=''

u.password_confirmation=''

u.save!   #注意有个叹号

如果提示true,则修改管理员密码成功

4、然后 添加用户、创建组、向组中添加用户、创建项目(按照用户或者按照组创建)、然后各用户自己添加ssh公钥到gitlab中,好了,直接push或者clone代码吧,
另外代码仓库默认在 /var/opt/gitlab/git-data 目录

PS:如果不知道ssh公钥,可以参考 https://www.cnblogs.com/lz0925/p/10725010.html
如果出现gitlab的nginx与原Nginx冲突,或者报错如下
[root@ACA83229 nginx]# service nginx restart
Stoping nginx... nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (: No such file or directory)
failed. Use force-quit
Terminating nginx... done
Starting nginx... nginx (pid ) already running.
此时你可以参考 https://www.cnblogs.com/lz0925/p/10879763.html

gitlab搭建和使用的更多相关文章

  1. 用GitLab搭建自己的私有GitHub

    相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一 本周有个朋友公司需要一个类似github的代码仓库管理系统,本人 ...

  2. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  3. GitLab搭建详细过程

    一.前提 系统:Centos 6.5 软件版本:gitlab-7.8.4 Selinux:关闭 防火墙规则:先清空(搭建好了后续自己添加相关放行规则) 二.yum源配置和相关依赖包 1.添加epel源 ...

  4. Ansible+Jenkins+Gitlab搭建及配置

    Ansible+Jenkins+Gitlab搭建及配置,已经生产环境使用,运行良好. 主机组文件里面好多ip敏感信息就不写了

  5. gitlab搭建与基本使用【转】

    一.git.github.gitlab的区别Git是版本控制系统,Github是在线的基于Git的代码托管服务.GitHub是2008年由Ruby on Rails编写而成.GitHub同时提供付费账 ...

  6. gitlab搭建之互备模式

    gitlab搭建之互备模式   gitlab搭建之互备模式 前言:gitlab目前默认的部署方式是本地单机部署,为了提高gitlab环境的可靠性和稳定性,必须构建一套互备搭建方案:借助gitolilt ...

  7. GitLab → 搭建私有的版本控制的托管服务平台

    开心一刻 睡着正香,媳妇用力把我晃醒说:“快起来,我爸来了.” 我一下醒了,手脚熟练的把衣服一抱,滚到床底,顺便把鞋也收了进去 媳妇蹲下无奈的说:“快出来!咱俩都结婚半年了.” 我:“对哦,搞习惯了” ...

  8. GitLab → 搭建中常遇的问题与日常维护

    开心一刻 隔壁有一个80多岁的老大爷,昨天在小区的一棵树下发现一条黑色的蛇,冻僵了,大爷善心大发,就把蛇揣在了怀里,想给它一点温暖. 今天一大早看到大爷在树上挂了一个牌子,写到:不准随地大小便! 搭建 ...

  9. gitlab 搭建(基于现有nginx)

    普通搭建请看:gitlab 搭建 一.gitlab搭建 1.添加GitLab镜像源并安装gitlab服务器 wget https://mirrors.tuna.tsinghua.edu.cn/gitl ...

  10. ubuntu12.04 gitlab搭建

    最近在尝试内部搭建gitlab,wiki这些工具...我使用的官网的gitlab-ce包一键安装,自己搭建的ubuntu12.04 server服务器. 分配253地址,放在办公室的小角落. 配置过程 ...

随机推荐

  1. struts2框架搭建学习遇到的问题

    遇到的两个问题 1Dispatcher initialization failed: 严重: Dispatcher initialization failed java.lang.RuntimeExc ...

  2. docker-compose-volumes的说明

    docker-compose里两种设置方式都是可以持久化的 绝对路径的 ghost: image: ghost volumes: - ./ghost/config.js:/var/lib/ghost/ ...

  3. Promise来控制JavaScript的异步执行

    一般来说,js.html都是按照从上至下这种方式来进行执行的.这就造成了,基本上所有的执行过程都是在一个线程中进行. 我们都知道,ajax的使用大大的提高了前后台的沟通效率,那么有没有什么方式,让js ...

  4. 搞懂MySQL InnoDB B+树索引

    一.InnoDB索引 InnoDB支持以下几种索引: B+树索引 全文索引 哈希索引 本文将着重介绍B+树索引.其他两个全文索引和哈希索引只是做简单介绍一笔带过. 哈希索引是自适应的,也就是说这个不能 ...

  5. 简单介绍shell编程四剑客之awk

    概要:分别的作用 grep:文本过滤(模式:pattern)工具,grep,egrep,fgrep,擅长过滤. sed:stream editor 文本编辑工具:(流编辑器),擅长取行.替换. awk ...

  6. 【网摘】C#.NET 在 MVC 中动态绑定下拉菜单的方法

    1. 已知下拉菜单列表项: 在 Controller 控制器类中输入已下代码  1 public class DemoController : Controller 2 { 3     public  ...

  7. WPF Geometry 添加Path数据

    当图片转svg,svg转Xaml后,根据数据加载显示图片 DrawingImage: <DrawingImage x:Key="Image.Search"> <D ...

  8. springboot源码分析-SpringApplication

    SpringApplication SpringApplication类提供了一种方便的方法来引导从main()方法启动的Spring应用程序 SpringBoot 包扫描注解源码分析 @Spring ...

  9. 学习笔记—MySQL基础

    数据库的介绍 mysql数据库介绍 开放源码的轻量级关系型数据库管理系统,体积小.速度快.操作便捷. 数据库的启动和连接 mysql数据库启动 在终端输入以下命令,启动mysql服务器 service ...

  10. javascript排序算法-选择排序

    选择排序 概念:选择排序大致的思路是找到数据结构中的最小值并将其放置在第一位,接着找到第二小的值并将其放在第二位,以此类推. 复杂度: O(n^2) 代码实现 var swap = function ...