PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Контрол на версиите на PostgreSQL с Atlassian Bitbucket

В системното инженерство комуникацията е ключов елемент за постигане на успех по всеки проект. Това е така, защото е от решаващо значение за целия цикъл на развитие; като се започне от събиране на изисквания до предоставяне на минимално жизнеспособен продукт.

Използвайки разпределена система за контрол на версиите (като Git – индустриален стандарт), разработчиците могат да изпращат малки парчета код и да работят заедно с услуги като Bitbucket, изградени около него. Хостинг на Bitbucket е възможен, когато данните, генерирани от неговите потребители, имат база данни, за да останат, точно като PostgreSQL, но интегрирането на двете изисква допълнителни конфигурации за изпълнение на различни машини.

Преглед на мрежата

Локалната мрежа може да предава информацията между програмите, без да е необходимо да я излага на външната мрежа, в зависимост от това къде биха били потребителите.

1.1. Локална мрежа (LAN).

С разделянето на проблемите Bitbucket и PostgreSQL могат да разговарят помежду си за постигане на общата си цел, осигурявайки платформа за разпределена система за контрол на версиите.

1.2. Bitbucket достъп до PostgreSQL.

PostgreSQL разчита на сокет, предоставен от операционната система, така че данните на клъстера се съхраняват зад врата, защитена от правилата на защитната стена.

1.3. Източник на данни за PostgreSQL.

Първи стъпки

Няма много за казване, тъй като това е доста прост процес. PostgreSQL ще трябва да бъде настроен с нов потребител и база данни, готови за Bitbucket.

PostgreSQL

# Част 1:Подготовка на базата данни.$ pg_lsclusters$ sudo systemctl -a | grep postgres$ sudo -u postgres psql -c "\du" -c "\l"
2.1. Проверка дали вече има работещи клъстери.
# Част 2:Създаване на нов потребител (роля) и база данни.$ sudo -u postgres psql -c "създаване на роля thiago с парола за влизане createdb 'Th14g0_P4ssw0rd'"$ psql -d postgres -c "създаване на база данни bitbucket_db"$ psql -d bitbucket_db -c "\du" -c "\l"
2.2. Собственикът на базата данни не е суперпотребител postgres.
# Част 3:Промяна на конфигурацията на клъстера (postgresql.conf).$ sudo -u postgres psql -c "show config_file"$ sudo cat /etc/postgresql/11 /main/postgresql.conf | grep listen_addresses$ sudo sed -i "s|#listen_addresses ='localhost'|listen_addresses ='\*'\t|" /etc/postgresql/11/main/postgresql.conf$ sudo cat /etc/postgresql/11/main/postgresql.conf | grep listen_addresses
2.3. Разрешаване на отдалечени връзки (postgresql.conf).
# Част 4:Промяна на конфигурацията на клъстера (pg_hba.conf).$ sudo wc -l /etc/postgresql/11/main/pg_hba.conf$ sudo tail -3 /etc /postgresql/11/main/pg_hba.conf$ sudo sed -i "$ a # Разрешаване на отдалечени връзки (listen_addresses ='*') с удостоверяване" /etc/postgresql/11/main/pg_hba.conf$ sudo sed -i " $ хост\tall\t\tall\t\t192.168.0.0/16\t\tmd5" /etc/postgresql/11/main/pg_hba.conf$ sudo sed -i "$ хост\tall\t\ tall\t\t::/0\t\t\tmd5" /etc/postgresql/11/main/pg_hba.conf$ sudo wc -l /etc/postgresql/11/main/pg_hba.conf$ sudo tail -3 /etc/postgresql/11/main/pg_hba.conf
2.4. Промяна на разрешенията за достъп (pg_hba.conf).
# Част 5:Рестартиране на клъстера.$ sudo -u postgres psql -c "show listen_addresses"$ ss -nlp | grep 5432$ sudo systemctl рестартиране [email protected]$ sudo -u postgres psql -c "show listen_addresses"$ ss -nlp | grep 5432
2.5. Прилагане на промените.
# Част 6:Отваряне на вратата.$ sudo ufw status$ sudo ufw allow 5432/tcp$ sudo ufw status$ ip addr show
2.6. Конфигуриране на защитната стена и показване на IP адреса.
# Част 7:Задайте парола за ролята на суперпотребител.$ sudo -u postgres psql -c "\password"
2.7. Промяна на администраторската парола.

Bitbucket

Ето какво ще трябва да направите след това от страната на Bitbucket.

# Част 1:Проверка дали по-ранната настройка е била правилна.$ telnet 192.168.0.106 5432# (По избор) Използване на psql.$ sudo -u postgres psql -h 192.168.0.106 -p 5432 -d -U bitbucket_ c "\conninfo"
3.1. Отдалечено достигане до базата данни.
# Част 2:Извличане на Bitbucket Server.$ ls$ tar xzf atlassian-bitbucket-6.10.0$ ls$ du -sh atlassian-bitbucket-6.10.0$ tree -L 1 atlassian-bitbucket -6.10.0$ дърво -L 1 atlassian-bitbucket-6.10.0/bin
3.2. Скриптове за Linux и Windows.
# Част 3:Промяна на скрипта (set-bitbucket-home.sh).$ mkdir bitbucket-home$ echo $(pwd)/bitbucket-home$ cat atlassian-bitbucket-6.10.0 /bin/set-bitbucket-home.sh | grep BITBUCKET_HOME=$$ sed -i 's|BITBUCKET_HOME=$|BITBUCKET_HOME=/home/thiago/Documents/severalnines.com/database-blog/bitbucket-home|' atlassian-bitbucket-6.10.0/bin/set-bitbucket-home.sh$ cat atlassian-bitbucket-6.10.0/bin/set-bitbucket-home.sh | grep BITBUCKET_HOME=/
3.3. Конфигуриране на BITBUCKET_HOME.
# Част 4:Промяна на скрипта (set-jre-home.sh).$ readlink -f $(which java)$ cat atlassian-bitbucket-6.10.0/bin/set-jre-home. sh | grep JRE_HOME=$$ sed -i 's|JRE_HOME=$|JRE_HOME=/usr/lib/jvm/java-11-openjdk-amd64|' atlassian-bitbucket-6.10.0/bin/set-jre-home.sh$ cat atlassian-bitbucket-6.10.0/bin/set-jre-home.sh | grep JRE_HOME=/
3.4. Конфигуриране на JRE_HOME (Java).
# Част 5:Проверка на хардуера.$ cat /proc/cpuinfo | grep процесор | wc -l$ безплатно -h
3.5. Ядра на процесора и RAM при стартиране.
# Част 6:Стартиране на Bitbucket Server с Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh$ free -h
3.6. Изпълнение с Elasticsearch (по подразбиране).
# Част 7:Изпълнение на Bitbucket Server без Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh --no-search$ free -h
3.7. Изпълнение без Elasticsearch (Спестява 1 GB RAM).
# Част 8:Бърз преглед на BITBUCKET_HOME.$ du -sh bitbucket-home$ tree -L 1 bitbucket-home
3.8. Вътре в BITBUCKET_HOME.

Интегриране на PostgreSQL и Bitbucket

След като конфигурирате PostgreSQL и Bitbucket, тяхната интеграция трябва да се извърши през браузъра (http://localhost:7990/).

4.1. Bitbucket стартира.
# Показване на таблици$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"
4.2. Изброяване на текущи таблици на база данни.

Вече можете да настроите Bitbucket да използва Java Persistence API, с Hibernate като реализация, за създаване на модела на домейна в базата данни, използвайки PostgreSQL JDBC драйвера.

4.3. Конфигурация на източника на данни.
# Показване на таблици (отново)$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"
4.4. Отново списък, показващ 10 от 164 реда.
# Проверка на пула за връзки.$ psql -h 192.168.0.106 -d bitbucket_db -c "изберете pid,usename,application_name,state от pg_stat_activity, където datname_ 'bbucket" предварително> 4.5. Показване на пула за връзки. 

Заключение

Имайте предвид, че ако мрежата ви използва DHCP, добре е да конфигурирате IP адреса да е статичен във вашия рутер, или Bitbucket може да не успее да се опита да намери PostgreSQL по-късно.

По-голямата част от този блог е използвала регулярни изрази за промяна на конфигурационни файлове без отваряне на текстови редактори, но те могат да се използват и в уеб браузъри за целите на отстраняване на грешки, опитайте да потърсите съобщението за грешка „не може променете директорията на ?:Отказано разрешение“ с двойни кавички или друг проблем, който може да откриете, като замените специфичния за компютъра път със заместващ знак „?“.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчислени / изчислени / виртуални / извлечени колони в PostgreSQL

  2. Задайте празните низове ('') на NULL в цялата база данни

  3. Изберете броя на редовете в друга таблица в оператор SELECT на Postgres

  4. PostgreSQL Connection Pooling:Част 2 – PgBouncer

  5. Как да използвам повторно резултат за клаузите SELECT, WHERE и ORDER BY?