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.
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