sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-versiebeheer met Atlassian Bitbucket

In systeemtechniek is communicatie een sleutelelement voor het behalen van succes bij elk project. Dit komt omdat het van cruciaal belang is voor de hele ontwikkelingscyclus; beginnend met het verzamelen van vereisten tot het leveren van een minimaal levensvatbaar product.

Met behulp van een gedistribueerd versiebeheersysteem (zoals Git - een industriestandaard), kunnen ontwikkelaars kleine stukjes code indienen en samenwerken met services zoals Bitbucket die eromheen zijn gebouwd. Bitbucket hosten is mogelijk wanneer de gegevens die door de gebruikers worden gegenereerd een database hebben om te blijven, net als PostgreSQL, maar de integratie van beide vereist extra configuraties voor uitvoering op verschillende machines.

Netwerkoverzicht

Een lokaal netwerk kan de informatie tussen de programma's doorgeven zonder deze aan het externe netwerk bloot te stellen, afhankelijk van waar de gebruikers zich zouden bevinden.

1.1. Local Area Network (LAN).

Met de scheiding van zorgen kunnen Bitbucket en PostgreSQL met elkaar praten om hun gemeenschappelijke doel te bereiken, namelijk het bieden van een gedistribueerd versiebeheersysteemplatform.

1.2. Bitbucket die toegang heeft tot PostgreSQL.

PostgreSQL vertrouwt op een socket die wordt geleverd door het besturingssysteem, dus de gegevens van het cluster worden achter een deur bewaard die wordt beschermd door firewallregels.

1.3. PostgreSQL-gegevensbron.

Aan de slag

Er valt niet veel te zeggen, aangezien dit een vrij eenvoudig proces is. PostgreSQL moet worden ingesteld met een nieuwe gebruiker en database die klaar zijn voor Bitbucket.

PostgreSQL

# Part 1: Preparing the database.

$ pg_lsclusters

$ sudo systemctl -a | grep postgres

$ sudo -u postgres psql -c "\du" -c "\l"
2.1. Controleren of er al clusters actief zijn.
# Part 2: Creating a new user (role) and database.

$ sudo -u postgres psql -c "create role thiago with createdb login password 'Th14g0_P4ssw0rd'"

$ psql -d postgres -c "create database bitbucket_db"

$ psql -d bitbucket_db -c "\du" -c "\l"
2.2. De eigenaar van de database is niet de superuser postgres.
# Part 3: Changing the cluster configuration (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. Externe verbindingen toestaan ​​(postgresql.conf).
# Part 4: Changing the cluster configuration (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 # Allow remote connections (listen_addresses = '*') with authentication" /etc/postgresql/11/main/pg_hba.conf

$ sudo sed -i "$ a host\tall\t\tall\t\t192.168.0.0/16\t\tmd5" /etc/postgresql/11/main/pg_hba.conf

$ sudo sed -i "$ a host\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. Toegangsrechten wijzigen (pg_hba.conf).
# Part 5: Restarting the cluster.

$ sudo -u postgres psql -c "show listen_addresses"

$ ss -nlp | grep 5432

$ sudo systemctl restart [email protected]

$ sudo -u postgres psql -c "show listen_addresses"

$ ss -nlp | grep 5432
2.5. De wijzigingen toepassen.
# Part 6: Opening the door.

$ sudo ufw status

$ sudo ufw allow 5432/tcp

$ sudo ufw status

$ ip addr show
2.6. De firewall configureren en het IP-adres weergeven.
# Part 7: Set a password for the superuser role.

$ sudo -u postgres psql -c "\password"
2.7. Het beheerderswachtwoord wijzigen.

Bitbucket

Dit is wat je dan moet doen aan de Bitbucket-kant.

# Part 1: Verifying if the earlier set up was correct.

$ telnet 192.168.0.106 5432

# (Optional) Using psql.

$ sudo -u postgres psql -h 192.168.0.106 -p 5432 -d bitbucket_db -U thiago -c "\conninfo"
3.1. De database op afstand bereiken.
# Part 2: Extracting the 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

$ tree -L 1 atlassian-bitbucket-6.10.0/bin
3.2. Scripts voor Linux en Windows.
# Part 3: Modifying the script (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 configureren.
# Part 4: Modifying the script (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) configureren.
# Part 5: Checking the hardware.

$ cat /proc/cpuinfo | grep processor | wc -l

$ free -h
3.5. CPU-kernen en RAM bij opstarten.
# Part 6: Running the Bitbucket Server with Elasticsearch.

$ ./atlassian-bitbucket/bin/start-bitbucket.sh

$ free -h
3.6. Uitvoeren met Elasticsearch (standaard).
# Part 7: Running the Bitbucket Server without Elasticsearch.

$ ./atlassian-bitbucket/bin/start-bitbucket.sh --no-search

$ free -h
3.7. Uitvoeren zonder Elasticsearch (bespaart 1 GB RAM).
# Part 8: Quick look at BITBUCKET_HOME.

$ du -sh bitbucket-home

$ tree -L 1 bitbucket-home
3.8. Binnenkant van BITBUCKET_HOME.

PostgreSQL en Bitbucket integreren

Na het configureren van PostgreSQL en Bitbucket, moet hun integratie worden gedaan via de browser (http://localhost:7990/).

4.1. Bitbucket wordt opgestart.
# Displaying tables

$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"

4.2. Huidige databasetabellen weergeven.

U kunt Bitbucket nu instellen om Java Persistence API te gebruiken, met Hibernate als implementatie, voor het maken van het domeinmodel in de database, met behulp van het PostgreSQL JDBC-stuurprogramma.

4.3. Configuratie van gegevensbron.
# Displaying tables (again)

$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"
4.4. Opnieuw een lijst met 10 van de 164 rijen.
# Verifying the connection pool.

$ psql -h 192.168.0.106 -d bitbucket_db -c "select pid,usename,application_name,state from pg_stat_activity where datname = 'bitbucket_db'"
4.5. De verbindingspool weergeven.

Conclusie

Houd er rekening mee dat als uw netwerk DHCP gebruikt, het een goed idee is om het IP-adres in uw router op statisch te configureren, anders kan Bitbucket PostgreSQL later misschien niet vinden.

Het grootste deel van deze blog heeft gebruik gemaakt van reguliere expressies voor het wijzigen van configuratiebestanden zonder teksteditors te openen, maar ze kunnen ook worden gebruikt in webbrowsers voor foutopsporingsdoeleinden. Probeer te zoeken naar de foutmelding "kon niet verander de map naar ?:Permissie geweigerd” met dubbele aanhalingstekens, of een ander probleem dat u tegenkomt, waarbij u het computerspecifieke pad vervangt door een jokerteken '?'.


  1. Hoe u uw Access-databases ultrasnel kunt maken!

  2. Benchmarking van MySQL-prestaties:MySQL 5.7 versus MySQL 8.0

  3. Verschil in het omgaan met de spaties tussen Oracle en SQL Server

  4. MySQL relationele databases gebruiken op Debian 6 (Squeeze)