Bunachar sonraí GitLab a aistriú chuig PostgreSQL seachtrach

Dia duit gach duine!

San Airteagal seo, déanfaimid bunachar sonraí GitLab a aistriú ó PostgreSQL inmheánach, atá suiteáilte le GitLab, go PostgreSQL seachtrach, atá suiteáilte cheana féin ar fhreastalaí eile.

Bunachar sonraí GitLab a aistriú chuig PostgreSQL seachtrach

NÓTA
Tá ráthaithe go n-oibreoidh gach gníomh ar CentOS 7.7.1908, PostgreSQL 12 agus GitLab 12.4.2-ee.0.

Réamh-ullmhúchán

Déanaimis trí rud roimh ré:

1. Ar fhreastalaí PostgreSQL, cuir riail leis an mballa dóiteáin a cheadaíonn naisc isteach le calafort PostgreSQL 5432/TCP.

I mo chás:

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

2. San áit chéanna, ach sa chomhad postgresql.conf, lig don chomhéadan líonra glacadh le naisc atá ag teacht isteach ón taobh amuigh. Oscail an comhad postgresql.conf, aimsigh an líne amach tráchta "#listen_addresses = 'localhost'" agus cuir líne mar atá thíos faoi. I gcás - 10.0.0.2, an seoladh do comhéadan.

I mo chás:

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. Ós rud é go nascfaidh an freastalaí GitLab le bunachar sonraí seachtrach, ní mór é seo a cheadú ar an bhfreastalaí PostgreSQL sa chomhad pg_hba.conf. Is é mo sheoladh freastalaí GitLab ná 10.0.0.4.

Osclaímid an comhad pg_hba.conf agus cuirfimid an líne ann:

host    all             gitlab               10.0.0.4/24             md5

Beidh sé cuma mar seo:

# 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

Agus ar deireadh, déanaimid an tseirbhís postgresql a atosú:

systemctl restart postgresql-12.service

Bunachar sonraí GitLab a onnmhairiú

Déanaimis cúltaca bunachar sonraí ar an bhfreastalaí GitLab:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql

Bhí an cúltaca le feiceáil in /tmp:

ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql

Déanaimis an chóip seo a chóipeáil chuig an bhfreastalaí PostgreSQL:

scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql                                                                               100%  835KB  50.0MB/s   00:00

Ag iompórtáil "inmheánach-gitlab.sql" isteach i PostgreSQL

Iompórtáil an bunachar sonraí go PostgreSQL:

sudo -u postgres psql -f /tmp/internal-gitlab.sql

Seiceáil go bhfuil an bunachar sonraí i PostgreSQL anois:

sudo -u postgres psql -l

Ba chóir go mbeadh an líne seo a leanas le feiceáil:

gitlabhq_production | gitlab   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

GitLab á chumrú

Tar éis an bunachar sonraí a allmhairiú isteach i PostgreSQL, cruthaíodh úsáideoir gitlab. Ní mór duit pasfhocal an úsáideora seo a athrú.

An pasfhocal a athrú:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

Ansin, ar an bhfreastalaí GitLab, sa chomhad cumraíochta /etc/gitlab/gitlab.rb, cuirfimid sonraí uile an PostgreSQL seachtrach in iúl.

Déanaimis cóip chúltaca den chomhad gitlab.rb:

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig

Anois cuir na línte seo le deireadh an chomhaid 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'] = '******'

Sábháil an comhad /etc/gitlab/gitlab.rb agus athchumraigh GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

Sin é an méid :)

Iarratas mór. Má chuireann tú lúide, scríobh an chúis sna tuairimí.

Foinse: will.com

Add a comment