原文地址: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. Linux - 通过LVM对磁盘进行动态扩容

    目录 1 LVM是什么 1.1 概念解释 1.2 为什么用LVM 1.2.1 不使用LVM时的扩容思路 1.2.2 使用LVM时的扩容思路 1.3 名词解释 2 普通的挂载磁盘方法 2.1 创建分区的 ...

  2. DotNetCore跨平台~关于appsettings.json里各种配置项的读取

    回到目录 对于dotnet Core来说,依赖注入的集成无疑是最大的亮点,它主要用在服务注册与注入和配置文件注册与注入上面,我们一般会在程序入口先注册服务或者文件,然后在需要的地方使用注入即可,下面主 ...

  3. MySQL系列--3.数据类型和连接查询

    1.存储引擎 数据创建,查询,更新和删除操作都是通过数据引擎来进行的.不同的存储引擎存储限制不同,支持不同的索引机制等. 查询数据库支持的存储引擎 MySQL 5.7.2支持的存储引擎有:InnoDB ...

  4. python使用魔法函数创建可切片类型

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ 可切片的对象 """ import nu ...

  5. SQL优化 MySQL版 - 多表优化及细节详讲

    多表优化及细节详讲 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 注:本文章需要MySQL数据库优化基础或观看前几篇文章,传送门: B树索引详讲(初识SQL优化,认识索引):htt ...

  6. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

  7. MariaDB Galera集群部署--技术流ken

    Galera集群介绍 MariaDB集群是MariaDB同步多主机集群.它仅支持XtraDB/ InnoDB存储引擎. 主要功能 同步复制 真正的multi-master,即所有节点可以同时读写数据库 ...

  8. fuzzing学习

    1.简介 1.1 fuzzing 模糊测试(fuzzing)是一种通过向程序提供非预期的输入并监控输出中的异常来发现软件中的故障的方法. 用于模糊测试的模糊测试器(fuzzer)可以按照以下3种方式进 ...

  9. C# 创建、更改Excel命名区域(NamedRange)

    创建命名区域是指给选定的某个单元格或多个单元格区域设置名称,目的是方便我们在文件中的其他地方对该单元格区域进行引用能够简化公式引用或者方便数据管理.下面记录了具体的C#示例代码.这里创建命名区域分为了 ...

  10. Spring boot 发送邮件示例

    最近的一个项目中用到了邮件发送,所以研究了一下.将其总结下来. 首先 登录邮箱 -->设置-->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务--> ...