如果重启之后,gitlab-ctl restart报“runsv no running”错,先运行下面命令

systemctl start gitlab-runsvdir.service

0、配置外部nginx

打开gitlab配置文件

vim /etc/gitlab/gitlab.rb

修改配置项

#禁用自带nginx
nginx['enable'] = false
#指定nginx的用户名,一般linux中默认的nginx用户名都是nobody
web_server['external_users'] = ['nobody']
# 添加nginx地址到信任列表,我这里是127.0.0.1
gitlab_rails['trusted_proxies'] = ['127.0.0.1']
#监听tcp
gitlab_workhorse['listen_network'] = "tcp"
#配置gitlab的地址和端口
gitlab_workhorse['listen_addr'] = "127.0.0.1:28080"

重新配置并且重启gitlab

gitlab-ctl reconfigure
gitlab-ctl restart

1、配置gitlab发送邮件

打开gitlab配置文件

vim /etc/gitlab/gitlab.rb

修改配置项

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "XXX@163.com"
gitlab_rails['smtp_password'] = "XXX"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true #使用163邮箱时需要修改发信人
gitlab_rails['gitlab_email_from'] = 'fiveflashes@163.com'

重新配置gitlab

gitlab-ctl reconfigure

测试能否发邮件

gitlab-rails console
Notify.test_email('收件人地址','测试标题','测试内容').deliver_now

2、配置GitLab仓库路径

创建自己想要做仓库的文件夹

mkdir -p /usr/local/data/git-data

打开gitlab配置文件

vim /etc/gitlab/gitlab.rb

找到这一段,去掉注释,并且将地址改为之前新建的目录

git_data_dirs({
"default" => {
"path" => "/usr/local/data/git-data"
}
})

重新配置gitlab并且重启gitlab(这一步适合不需要旧仓库的数据,如果需要旧仓库数据的,使用下一步的代码)

gitlab-ctl reconfigure
gitlab-ctl restart

如果在之前的路径上已经有仓库了,可以使用下面的代码移过来

sudo gitlab-ctl stop
sudo rsync -av /var/opt/gitlab/git-data/repositories /usr/local/data/git-data
sudo gitlab-ctl reconfigure
sudo ls /usr/local/data/git-data
sudo gitlab-ctl start

3、配置自己的redis

打开gitlab配置文件,修改配置项

vim /etc/gitlab/gitlab.rb
# 禁止使用内部redis
redis['enable'] = false # 配置redis的ip和端口
gitlab_rails['redis_host'] = '127.0.0.1'
gitlab_rails['redis_port'] = 6379 # 配置redis的密码,如果需要的话
gitlab_rails['redis_password'] = '<redis_password>'

重新配置并且重启gitlab

gitlab-ctl reconfigure
gitlab-ctl restart

4、配置外部postgresql

官方文档地址:https://docs.gitlab.com/omnibus/settings/database.html#using-a-non-packaged-postgresql-database-management-server

准备工作,创建gitlab的数据库和安装pg的扩展

#更新yum
sudo yum update
#查找yum list 里的 contrib
yum search contrib
#安装自己pg版本对应的contrib
yum install postgresql13-contrib.x86_64
#进入系统的psql环境
sudo -u postgres psql
#创建gitlab的pg用户
create user gitlab with password '12345678';
#创建数据库gitlabhq_production
create database gitlabhq_production OWNER gitlab;
#将gitlabhq_production库的所有权赋值给gitlab
GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production TO gitlab;
#进入到gitlab的数据数
\c gitlabhq_production
#为gitlab的数据库安装扩展btree_gist
CREATE EXTENSION IF NOT EXISTS btree_gist;
#为gitlab的数据库安装扩展pg_trgm
CREATE EXTENSION IF NOT EXISTS pg_trgm;

打开配置文件,修改配置信息

vim /etc/gitlab/gitlab.rb

postgresql['enable'] = false
gitlab_rails['db_adapter'] = "postgresql"
gitlab_rails['db_encoding'] = "utf8"
# gitlab_rails['db_collation'] = nil
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = "12345678"
gitlab_rails['db_host'] = "127.0.0.1"
gitlab_rails['db_port'] = 5432

重新配置gitlab并且重启

gitlab-ctl reconfigure
gitlab-ctl restart

如果reconfigure时提示schema重复,则去pg中删除对应的schema。

Centos GitLab 配置的更多相关文章

  1. gitlab centos 安装配置运维笔记

    写在前面 如果你需要一个git服务器,为企业或自己的团队托管代码而又不希望将代码仓库存储到第三方.你可以在自己的服务器上搭建一个gitlab. 本文为我在最初安装配置gitlab服务器的时候留存的笔记 ...

  2. CentOS gitlab 安装配置

    CentOS gitlab 安装配置 2018-11-02 11:23:09   Visit  5 在/etc/yum.repos.d 目录下创建文件gitlab-ce.repo,使用国内的安装源 b ...

  3. Windows中使用TortoiseGit提交项目到GitLab配置

    下文来给各位介绍Windows中使用TortoiseGit提交项目到GitLab配置过程,下在全部图片希望对各位带来方便面. Gitlab默认的配置推荐使用shell命令行与server端进行交互,作 ...

  4. Centos网络配置

    网上搜索:centos网络配置的方法,主要包括dns.网关.IP地址,主要是配置resolv.conf\network\ifcfg-eth0这些网络配置文件. 稍后我会就centos7的网络配置进行实 ...

  5. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  6. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  7. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  8. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  9. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

随机推荐

  1. 实体类转json 和 json转实体类

    1.new JSONObject().toJSONString(rootEntity) JSONObject.toJSONString(specPrices)//specPrices实体类   2. ...

  2. [leetcode]207. Course Schedule课程表

    在一个有向图中,每次找到一个没有前驱节点的节点(也就是入度为0的节点),然后把它指向其他节点的边都去掉,重复这个过程(BFS),直到所有节点已被找到,或者没有符合条件的节点(如果图中有环存在). /* ...

  3. js:表单校验(获取元素、事件)

    1.表单校验步骤 (1)确定事件(submit事件),创建一个函数并和该事件绑定. (2)书写函数对输入的数据是否合法进行校验(需要设定ID并通过ID来获取用户输入的数据的值). (3)输入的信息合法 ...

  4. 为什么 StackOverflow 上的代码片段会摧毁你的项目?

    昨天公司里碰到一件令人哑然失笑的事情.帮朋友公司做的一个项目,做SIT测试的时候发现一些bug,仔细查了下原因,原来是因为当初觉得这个项目比较简单,交给了几个新入职的新丁,也算是给他们练练手,结果其中 ...

  5. 主从同步遇到 Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'时怎么解决

    首先遇到这个是因为binlog位置索引处的问题,不要reset slave: reset slave会将主从同步的文件以及位置恢复到初始状态,一开始没有数据还好,有数据的话,相当于重新开始同步,可能会 ...

  6. [学习笔记]尝试go-micro开发微服务<第一波>

    平时项目都是基于c++,lua,node, 现在打算开始自学开发微服务;   也顺带磨砺下go和docker 前期准备 1. 有golang编程基础 本系列文章是基于有golang编程基础,有过实际开 ...

  7. MFC3 基本对话框的使用(三) 滑块与进度条(sdnu)(C++大作业)

    一.完成界面 运行前: 运行后: 二.工具 (1)滑块 (2)进度条 (3)文本框 (4)文本示例 (5)按钮 三.添加变量 四.添加事件 右键单击主对话框空白部分,打开类向导,选择"消息& ...

  8. spring cache 学习——@CachePut 使用详解

    1. 功能说明 当需要在不影响方法执行的情况下更新缓存时,可以使用 @CachePut,也就是说,被 @CachePut 注解的缓存方法总是会执行,而且会尝试将结果放入缓存(当然,是否真的会缓存还跟一 ...

  9. C语言实现九大排序算法

    C语言实现九大排序算法 直接插入排序 折半插入排序 希尔排序 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 基数排序 C语言实现九大排序算法 直接插入排序 将数组分为两个部分,一个是有序部分,一 ...

  10. 【SpringMVC】SpringMVC 入门

    SpringMVC 入门 文章源码 SpringMVC 基本概念 在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发.在 B/S 架构中,系统标准的三层架构包括:表现层.业务层.持久层. 表 ...