安装
shell
sudo apt install curl
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
apt-get install -y gitlab-ce=17.5.2-ce.0
配置
Gitlab 主要的配置文件是 /etc/gitlab/gitlab.rb
,其他的配置都因为 gitlab-ctl reconfigure
生成的。
bash
vim /etc/gitlab/gitlab.rb
/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
找到一下位置
yaml
external_url 'http://192.168.100.100:9090'
修改对应IP。
修改代码仓库 dirs 地址
ruby
git_data_dirs({
"default" => {
"path" => "/home/data/git/git-data"
}
})
修改为新的路径。
第三步 重启服务
重新生成配置,重启 gitlab 服务。
shell
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl stop/start
备份 gitlab 数据库
shell
cat /var/opt/gitlab/gitlab-rails/etc/database.yml
psql 进入SQL 控制台:
shell
psql -h /var/opt/gitlab/postgresql -d gitlabhq_production //连接到gitlabhq_production库
基本操作 SQL:
sql
psql (9.2.18)
Type "help" for help.
\h //查看帮助命令
\l //查看数据库
\c gitlabhq_production //进入gitlabhq_production库
\dt //查看多表
\q //退出psql
导出整个库:
shell
su - gitlab-psql
pg_dump -h 127.0.0.1 -U testuser test >test.sql
pg_dump -h /var/opt/gitlab/postgresql -U gitlab gitlabhq_production > git.sql
pg_dump -h /var/opt/gitlab/postgresql gitlabhq_production > git.sql
psql -h /var/opt/gitlab/postgresql -d gitlabhq_production -f gitlab.sql
psql -h localhost -d gitlabhq_production -f /mnt/backup/gitlab-bak/gitlab.sql
外置 PG 数据库
安装 PG 数据库:略
从控制台连接并创建用户:
sql
sudo -u postgres psql
CREATE USER gitlab WITH SUPERUSER;
CREATE ROLE
postgres=# ALTER USER gitlab WITH PASSWORD '123456';
ALTER ROLE
postgres=# GRANT ALL PRIVILEGES ON DATABASE postgres TO gitlab;
GRANT
postgres=# \q
创建数据库,并授权用户:
sql
CREATE DATABASE gitlabhq_production;
# 授权用户 gitlab 有数据库 gitlabhq_production 访问权限
GRANT CONNECT ON DATABASE gitlabhq_production TO gitlab;
-- 授权使用 schema
GRANT USAGE,CREATE ON SCHEMA public TO gitlab;
-- 授权在 schema 中 授权表操作权限
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO gitlab;
-- 可选:授权未来表的权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO gitlab;
-- 退出
\q
配置远程连接
远程连接
shell
vim /etc/postgresql/<版本号>/main/postgresql.conf
vim /etc/postgresql/17/main/postgresql.conf
找到 listen_addresses 行,修改为远程连接的 IP 或 '*':
yaml
listen_addresses = '*' # 允许所有 IP 地址
# listen_addresses = '0.0.0.0,::' # 允许 IPv4 和 IPv6
客户端访问
shell
vim /etc/postgresql/<版本号>/main/pg_hba.conf
vim /etc/postgresql/17/main/pg_hba.conf
最后心的一行增加
log
# 格式:host 数据库 用户 IP范围 认证方法
host all all 192.168.1.1/24 scram-sha-256
host all all 192.168.1.1/24 md5