Hello kowa da kowa!
A cikin wannan labarin, za mu ƙaura bayanan GitLab daga PostgreSQL na ciki, wanda aka shigar tare da GitLab, zuwa PostgreSQL na waje, wanda aka riga an shigar akan wani sabar.
NOTE
Dukkan ayyuka suna da tabbacin yin aiki akan CentOS 7.7.1908, PostgreSQL 12 da GitLab 12.4.2-ee.0.
Shiryawa na farko
Mu yi abubuwa uku a gaba:
1. A kan uwar garken PostgreSQL, ƙara doka zuwa Tacewar zaɓi wanda ke ba da damar haɗin shiga zuwa tashar tashar PostgreSQL 5432/TCP.
A wurina:
firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success
2. A cikin wuri guda, amma a cikin fayil ɗin postgresql.conf, ba da damar hanyar sadarwar cibiyar sadarwa don karɓar haɗin da ke shigowa daga waje. Bude fayil ɗin postgresql.conf, nemo layin da aka yi sharhi"#saurari_address = 'localhost'"kuma a ƙarƙashinsa ƙara layi kamar ƙasa. Inda - 10.0.0.2, adireshin da ke dubawa.
A wurina:
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. Tun da uwar garken GitLab zai haɗa zuwa bayanan bayanan waje, dole ne a ba da izinin wannan akan sabar PostgreSQL a cikin pg_hba.conf fayil. Adireshin sabar GitLab na shine 10.0.0.4.
Bari mu buɗe fayil ɗin pg_hba.conf kuma mu ƙara layin a can:
host all gitlab 10.0.0.4/24 md5
Zai yi kama da haka:
# 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
Kuma a ƙarshe, mun sake kunna sabis na postgresql:
systemctl restart postgresql-12.service
Ana fitar da bayanan GitLab
Bari mu yi ajiyar bayanai akan sabar GitLab:
sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql
Ajiyayyen ya bayyana a /tmp:
ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql
Bari mu kwafi wannan kwafin zuwa uwar garken PostgreSQL:
scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql 100% 835KB 50.0MB/s 00:00
Ana shigo da "internal-gitlab.sql" cikin PostgreSQL
Shigo da bayanan cikin PostgreSQL:
sudo -u postgres psql -f /tmp/internal-gitlab.sql
Bincika cewa bayanan yana cikin PostgreSQL:
sudo -u postgres psql -l
Ya kamata layi mai zuwa ya bayyana:
gitlabhq_production | gitlab | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Ana saita GitLab
Bayan shigo da bayanan cikin PostgreSQL, an ƙirƙiri mai amfani da gitlab. Kuna buƙatar canza kalmar sirrin mai amfani.
Canza kalmar sirri:
sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE
Sannan, akan uwar garken GitLab, a cikin fayil ɗin sanyi /etc/gitlab/gitlab.rb, zamu nuna duk bayanan PostgreSQL na waje.
Bari mu yi kwafin fayil ɗin gitlab.rb:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig
Yanzu ƙara waɗannan layin zuwa ƙarshen fayil ɗin 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'] = '******'
Ajiye fayil ɗin /etc/gitlab/gitlab.rb kuma sake saita GitLab:
gitlab-ctl reconfigure && gitlab-ctl restart
Shi ke nan :)
Babban bukata. Idan ka sanya ragi, rubuta dalilin a cikin sharhi.
source: www.habr.com