မင်္ဂလာပါလူတိုင်းအတွက်!
ဤဆောင်းပါးတွင်၊ ကျွန်ုပ်တို့သည် GitLab ဖြင့် ထည့်သွင်းထားသည့် အတွင်းပိုင်း PostgreSQL မှ GitLab ဒေတာဘေ့စ်ကို အခြားဆာဗာတွင် ထည့်သွင်းပြီးဖြစ်သည့် ပြင်ပ PostgreSQL သို့ ရွှေ့ပြောင်းပါမည်။
မှတ်စု
လုပ်ဆောင်ချက်များအားလုံးကို CentOS 7.7.1908၊ PostgreSQL 12 နှင့် GitLab 12.4.2-ee.0 တွင် အလုပ်လုပ်ရန် အာမခံပါသည်။
ကြိုတင်ပြင်ဆင်မှု
သုံးခုကို ကြိုလုပ်ကြည့်ရအောင်။
1. PostgreSQL ဆာဗာတွင်၊ PostgreSQL ပို့တ် 5432/TCP သို့ အဝင်ချိတ်ဆက်မှုများကို ခွင့်ပြုသည့် firewall တွင် စည်းကမ်းတစ်ခုထည့်ပါ။
ငါ့ကိစ္စမှာတော့:
firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success
2. တစ်နေရာတည်းတွင်၊ သို့သော် postgresql.conf ဖိုင်တွင်၊ ပြင်ပမှအဝင်ချိတ်ဆက်မှုများကို လက်ခံရန် ကွန်ရက်အင်တာဖေ့စ်ကို ခွင့်ပြုပါ။ postgresql.conf ဖိုင်ကိုဖွင့်ပါ၊ မှတ်ချက်ပေးထားသောစာကြောင်းကိုရှာပါ။#listen_addresses = 'ဒေသခံအိမ်ရှင်'" ပြီးလျှင် အောက်ဖော်ပြပါပုံအတိုင်း စာကြောင်းတစ်ခုထည့်ပါ။ ဘယ်မှာ - 10.0.0.2, သင့် interface ၏လိပ်စာ။
ငါ့ကိစ္စမှာတော့:
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
ဒါပါပဲ :)
ကြီးမားသောတောင်းဆိုမှု။ အနုတ်လက္ခဏာပြရင် အကြောင်းပြချက်ကို comment မှာရေးပေးပါ။
source: www.habr.com