GitLab දත්ත සමුදාය බාහිර PostgreSQL වෙත සංක්‍රමණය කිරීම

ආයුබෝවන් හැමෝටම!

මෙම ලිපියෙන්, අපි GitLab සමඟ ස්ථාපනය කර ඇති අභ්‍යන්තර PostgreSQL වෙතින් GitLab දත්ත සමුදාය වෙනත් සේවාදායකයක දැනටමත් ස්ථාපනය කර ඇති බාහිර PostgreSQL වෙත සංක්‍රමණය කරමු.

GitLab දත්ත සමුදාය බාහිර PostgreSQL වෙත සංක්‍රමණය කිරීම

සටහන
සියලුම ක්‍රියා CentOS 7.7.1908, PostgreSQL 12 සහ GitLab 12.4.2-ee.0 මත වැඩ කිරීමට සහතික වේ.

මූලික සූදානම

අපි කලින් දේවල් තුනක් කරමු:

1. PostgreSQL සේවාදායකයේ, PostgreSQL port 5432/TCP වෙත එන සම්බන්ධතා වලට ඉඩ දෙන ෆයර්වෝලයට රීතියක් එක් කරන්න.

මගේ තත්වයේදි:

firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success

2. එම ස්ථානයේම, නමුත් postgresql.conf ගොනුව තුළ, පිටතින් එන සම්බන්ධතා පිළිගැනීමට ජාල අතුරුමුහුණතට ඉඩ දෙන්න. postgresql.conf ගොනුව විවෘත කරන්න, අදහස් දැක්වූ රේඛාව සොයා ගන්න "#listen_addresses = 'localhost'" ඊට යටින් පහත ආකාරයේ රේඛාවක් එක් කරන්න. කොහෙද - 10.0.0.2, ඔබේ අතුරු මුහුණතේ ලිපිනය.

මගේ තත්වයේදි:

vi /var/lib/pgsql/12/data/postgresql.conf
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = 'localhost, 10.0.0.2'
                                        # comma-separated list of addresses;

3. GitLab සේවාදායකය බාහිර දත්ත ගබඩාවකට සම්බන්ධ වන බැවින්, මෙය pg_hba.conf ගොනුවේ ඇති PostgreSQL සේවාදායකයට ඉඩ දිය යුතුය. මගේ GitLab සේවාදායක ලිපිනය 10.0.0.4.

අපි pg_hba.conf ගොනුව විවෘත කර එහි රේඛාව එක් කරමු:

host    all             gitlab               10.0.0.4/24             md5

එය මේ ආකාරයෙන් පෙනෙනු ඇත:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             postgres                                     md5

# IPv4 local connections:
host    all             postgres             127.0.0.1/32            md5
host    all             gitlab               10.0.0.4/24             md5

අවසාන වශයෙන්, අපි postgresql සේවාව නැවත ආරම්භ කරමු:

systemctl restart postgresql-12.service

GitLab දත්ත සමුදායක් අපනයනය කිරීම

GitLab සේවාදායකයේ දත්ත සමුදා උපස්ථයක් සිදු කරමු:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql

උපස්ථය / tmp හි දිස් විය:

ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql

අපි මෙම පිටපත PostgreSQL සේවාදායකයට පිටපත් කරමු:

scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql                                                                               100%  835KB  50.0MB/s   00:00

PostgreSQL වෙත "internal-gitlab.sql" ආයාත කිරීම

PostgreSQL වෙත දත්ත සමුදාය ආයාත කරන්න:

sudo -u postgres psql -f /tmp/internal-gitlab.sql

දත්ත සමුදාය දැන් PostgreSQL හි තිබේදැයි පරීක්ෂා කරන්න:

sudo -u postgres psql -l

පහත පේළිය දිස්විය යුතුය:

gitlabhq_production | gitlab   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

GitLab වින්‍යාස කිරීම

දත්ත සමුදාය PostgreSQL වෙත ආයාත කිරීමෙන් පසුව, gitlab පරිශීලකයෙකු නිර්මාණය විය. ඔබට මෙම පරිශීලකයාගේ මුරපදය වෙනස් කිරීමට අවශ්‍යයි.

මුරපදය වෙනස් කිරීම:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

ඉන්පසුව, GitLab සේවාදායකයේ, /etc/gitlab/gitlab.rb වින්‍යාස ගොනුවේ, අපි බාහිර PostgreSQL හි සියලුම දත්ත දක්වන්නෙමු.

අපි gitlab.rb ගොනුවේ උපස්ථ පිටපතක් සාදා ගනිමු:

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig

දැන් gitlab.rb ගොනුවේ අවසානයට මෙම රේඛා එක් කරන්න:

# Отключить встроенный PostgreSQL.
postgresql['enable'] = false

# Данные для подключения к внешней базе. Указывайте свои.
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '10.0.0.2'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '******'

ගොනුව /etc/gitlab/gitlab.rb සුරකින්න සහ GitLab නැවත සකස් කරන්න:

gitlab-ctl reconfigure && gitlab-ctl restart

එච්චරයි :)

ලොකු ඉල්ලීමක්. අඩුවක් දැම්මොත් ඒකට හේතුව කමෙන්ට් එකේ ලියන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න