அனைவருக்கும் வணக்கம்!
இந்த கட்டுரையில், GitLab தரவுத்தளத்தை GitLab உடன் நிறுவப்பட்ட உள் PostgreSQL இலிருந்து வெளிப்புற 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 = '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