GitLab ڈیٹا بیس کی بیرونی PostgreSQL میں منتقلی۔

ہر کسی کو خوش!

اس آرٹیکل میں، ہم GitLab ڈیٹا بیس کو اندرونی PostgreSQL سے منتقل کریں گے، جو GitLab کے ساتھ انسٹال ہے، بیرونی PostgreSQL میں منتقل کریں گے، جو پہلے سے ہی کسی دوسرے سرور پر انسٹال ہے۔

GitLab ڈیٹا بیس کی بیرونی PostgreSQL میں منتقلی۔

نوٹ
تمام اعمال CentOS 7.7.1908، PostgreSQL 12 اور GitLab 12.4.2-ee.0 پر کام کرنے کی ضمانت ہیں۔

ابتدائی تیاری۔

آئیے پہلے سے تین چیزیں کرلیں:

1. PostgreSQL سرور پر، فائر وال میں ایک اصول شامل کریں جو PostgreSQL پورٹ 5432/TCP سے آنے والے کنکشن کی اجازت دیتا ہے۔

میرے معاملے میں:

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

2. اسی جگہ، لیکن postgresql.conf فائل میں، نیٹ ورک انٹرفیس کو باہر سے آنے والے کنکشن قبول کرنے کی اجازت دیں۔ postgresql.conf فائل کھولیں، تبصرے کی لائن تلاش کریں "#listen_addresses = 'لوکل ہوسٹ'"اور اس کے نیچے نیچے کی طرح ایک لائن شامل کریں۔ جہاں - 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 کو ترتیب دینا

پوسٹگری ایس کیو ایل میں ڈیٹا بیس کو درآمد کرنے کے بعد، ایک گٹلیب صارف بنایا گیا تھا۔ آپ کو اس صارف کا پاس ورڈ تبدیل کرنے کی ضرورت ہے۔

پاس ورڈ تبدیل کرنا:

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

نیا تبصرہ شامل کریں