ආයුබෝවන් හැමෝටම!
මෙම ලිපියෙන්, අපි 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