Gitlab搭建操作步骤:

1、查看Linux系统版本确认gitlab需要使用的安装包类型

使用命令:cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
本系统是CentOS 7,对应官方教程地址:https://about.gitlab.com/install/#centos-7 We strongly recommend downloading the Omnibus package installation since it is quicker to install, easier to upgrade, and it contains features to enhance reliability not found in other methods.
We also strongly recommend at least 4GB of free RAM to run GitLab.

  

2、安装 curl,policycoreutils-python,openssh-server服务

使用命令:yum install -y curl policycoreutils-python openssh-server
出现以下界面,说明成功

3、将SSH服务设置成开机自启动

命令:systemctl enable sshd

  

4、启动SSH服务

命令:systemctl start sshd

5、开启防火墙

命令:systemctl start firewalld或者service firewalld  start

6、添加http服务到firewalld,允许http服务通过, pemmanent表示永久生效,若不加--permanent系统下次启动后就会失效

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

7、重启防火墙  

命令:(sudo) systemctl reload firewalld

  

8、接下来,安装Postfix以发送通知邮件,并将postfix服务设置成开机自启动

Linux centos 查看postfix已经安装 rpm -qa |grep postfix,如果安装过,则无需安装。
安装postfix:
命令:sudo yum install postfix
设置postfix自启动
命令:sudo systemctl enable postfix

  

9、启动Postfix

命令:ssudo systemctl start postfix
可能会启动失败:Job for postfix.service failed because the control process exited with error code. See "systemctl status postfix.service" and "journalctl -xe" for details.
这是因为防火墙或者配置文件导致,无法启动的邮件服务,首先关闭防火墙,修改配置文件vim /etc/postfix/main.cf
把inet_interfaces = localhost注释掉,把inet_interfaces = all的注释打开,然后就可以启动了。 可以通过命令:systemctl status postfix查看是否启动成功,下图所示标识启动成功

  

10、下载镜像

官网链接:https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/7/gitlab-ee-12.5.4-ee.0.el7.x86_64.rpm

使用命令下载镜像:curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

出现下图所示,标识reposity镜像下载成功:

安装镜像:sudo yum install -y gitlab-ee-12.5.4-ee.0.el7.x86_64,出现下图所示,标识安装成功

  

11、修改gitlab配置文件指定服务器ip和自定义端口

vim /etc/gitlab/gitlab.rb
使extenal_url指向自己的ip:extenal_url=”http://ip:8888”

  

12、刷新配置GitLab

命令:gitlab-ctl reconfigure,这个过程有点慢,请耐心等待哈

  

13、重置并启动GitLab

命令:gitlab-ctl start
启动成功如下图所示:

 

14、Gitlab常用命令:

sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;

15、关于gitlab-ee和gitlab-ce,二者是基于同样的核心代码进行开发,只是gitlab-ee功能更强大,但需要付费使用,有30天试用期。但试用期过后如果不付费,它就跟gitlab-ce功能是完全一样的,只是需要付费的功能无法再继续使用而已,所以这两个版本可以随意选择安装,但如果将来有付费的打算,直接安装gitlab-ee版本是个有远见的选择。当然,即使不付费,gitlab-ee使用上和gitlab-ce没有任何区别,所以接下来的操作我们就以安装gitlab-ee为例进行。

如果安装gitlab-ce目前不需要使用国内镜像,如果是安装gitlab-ee就需要用到国内镜像

16、修改gitlab_gitlab-ee.repo文件

把repo_gpgcheck属性为0,以及baseurl属性为清华大学的开源镜像站地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7

  

修改完成后再刷新yum源:

yum clean all
yum yum makecache

注意事项以及该文件关键键的介绍:

1.gitlab_gitlab-ee和gitlab_gitlab-ee-source对应的地址都要换

2.name是仓库的名字

3.baseurl字段是仓库的url,也就是仓库具体的访问路径,就是通过这个选项告知yum,仓库在哪。这里可以指明多个url,如果写了多个url,yum将遵循failovermethod字段进行使用

4.enabled字段指明了该url是否启用,0为不启用,默认为1

5.gpgcheck字段指明了是否检查rpm包的签名信息、完整性信息,0为不启用,1为启用
(注意:如果启用这个字段,也就是为1时,如果没有gpgkey时,检查很可能无法通过。我们可以在命令行中使用-- nogpgcheck选项禁止检查gpg)

6.repo_gpgcheck指明了是否检查元数据信息文件的签名信息与完整性,0为不启用,1为启用

7.gpgkey=url指明了密钥文件的url路径,有了这个密钥才能检查各种完整信息。

8.由于gpgkey对应的地址需要翻墙所以gpgcheck也需要设置为0,如果你服务器不需要翻墙可以不用使用默认值1。

9.https://mirrors.tuna.tsinghua.edu.cn是国内清华大学开源镜像站,避免yum install可能会因为网络原因导致失败。

17、安装过程可能出现问题和修复方法:

1.1502 Whoops, GitLab is taking too much time to respond

解决方案:

修改默认端口:需要放开/etc/gitlab/gitlab.rb文件里面nginx['listen_port']和unicorn['port']注释并设置端口,两个端口不能相同.具体原因笔者暂时也搞不懂,没用过nginx。

nginx['listen_port'] = 1001
unicorn['port'] = 1002
可能是端口占用问题,unicorn

刷新gitlab配置和启动

gitlab-ctl reconfigure
gitlab-ctl restart
##### 2.出现ruby_block[supervise_redis_sleep] action run停留很久

在卸载gitlab然后再次安装执行 gitlab-ctlreconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!

解决方案:

1、按住CTRL+C强制结束;

2、运行:sudo systemctl restart gitlab-runsvdir;

3、再次执行:sudo gitlab-ctl reconfigure

18、修改gitlab的配置文件:/etc/gitlab/gitlab.rb

 gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "******@qq.com"
gitlab_rails['smtp_password'] = "授权码"

gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '******@qq.com' 重启生效:gitlab-ctl reconfigure
执行 gitlab-rails console进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

19、进入Gitlab控制台

输入gitlab-rails console production进入gitlab控制台,只有进入到控制台之后,才可以输入gitlab的查询语句,才会被解析
查找用户信息:
user = User.where(id:1).first 重置密码:
输入user.password='密码',密码位置填写您新的密码即可。然后再输入user.save!保存用户对象

 

20、Centos 7 下Gitlab 自启动设置

 禁止 Gitlab 开机自启动:

systemctl disable gitlab-runsvdir.service

  

启用 Gitlab 开机自启动:

systemctl enable gitlab-runsvdir.service

参考链接:https://www.jianshu.com/p/d03a08dd28a2官方教程地址:https://about.gitlab.com/install/#centos-7

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步! 如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!  

Linux(Centos7.6)下安装Gitlab详细教程的更多相关文章

  1. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  2. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  3. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  4. Ubuntu下安装JDK详细教程

    Ubuntu下安装JDK详细教程 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-desktop-i386 ...

  5. Windows下安装MySQL详细教程

    Windows下安装MySQL详细教程 1.安装包下载  2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...

  6. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  7. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  8. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  9. Linux Centos7.x下安装部署VNC的实操详述

    VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...

随机推荐

  1. 生成指定python项目中所有的依赖文件

    一. pipreqs工具 这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单. 缺点是可能会有些偏差,需要检查并自己调整下. 安装: pip install pipre ...

  2. loj2305 NOI2017 游戏

    题目链接 思路 既然\(x\)的数量那么小,我们就可以先把每个\(x\)搜索一遍. 枚举x的时候不需要把\(a,b,c\)全枚举一遍,只要枚举其中的两个就可以枚举到当前位置选任何车的情况. 然后就变成 ...

  3. 【2019.7.25 NOIP模拟赛 T1】变换(change)(思维+大分类讨论)

    几个性质 我们通过推式子可以发现: \[B⇒AC⇒AAB⇒AAAC⇒C\] \[C⇒AB⇒AAC⇒AAAB⇒B\] 也就是说: 性质一: \(B,C\)可以相互转换. 则我们再次推式子可以发现: \[ ...

  4. 洛谷 P4053 [JSOI2007]建筑抢修

    传送门 思路 首先题意比较容易明白: n个建筑需要修复,只能同时修一个建筑,每个建筑修复需要t1时间,且必须在t2时间前修完,否则此建筑报废 问最多能修好多少个建筑 如果一个建筑在规定时间内没有修好的 ...

  5. c++基础第一篇

    前言:我是从c和c++对比的角度来讲解c++的基础知识. (1)c++格式如下: #include <iostream> //标准输入输出头文件 using namespace std; ...

  6. 可以在shell脚本中使用哪些类型的变量?

    在shell脚本,我们可以使用两种类型的变量: 系统定义变量 用户定义变量 系统变量是由系统系统自己创建的.这些变量通常由大写字母组成,可以通过“set”命令查看. 用户变量由系统用户来生成和定义,变 ...

  7. Jena Fuseki安装完成后不能添加数据库

    问题描述:安装Jena成功后可以进入管理页面,无法通过界面选择和查询数据 解决方案: 进入 apache-jena-fuseki-3.12.0\run 修改 shiro.ini 配置文件 注释 /$/ ...

  8. Ubuntu 14.04 apt-get update失效解决(转)

    现象如下: VirtualBox:~$ sudo apt-get update Err http://mirrors.aliyun.com trusty InRelease Err http://mi ...

  9. django实战(三)--删除和批量删除

    上一节我们完成了带分页的模糊查询,本节我们继续删除操作. 同样的,先给出各个模块的代码(上一节的就不在贴出了):urls.py path('curd/delete/',views.curd_delet ...

  10. Java连载18-引用数据类型、三元运算符、控制语句if

    一.引用类型 1.String是sun在JAVASE中提供的字符串类型 2.String.class字码 3.String是引用数据类型,s是变量名,“abc”是字面值: String s = &qu ...