sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL versionskontroll med Atlassian Bitbucket

Inom systemteknik är kommunikation en nyckelfaktor för att nå framgång i alla projekt. Detta beror på att det är avgörande för hela utvecklingscykeln; från att samla in krav till att leverera en lägsta livskraftig produkt.

Med hjälp av ett distribuerat versionskontrollsystem (som Git - en industristandard) kan utvecklare skicka in små kodbitar och arbeta tillsammans med tjänster som Bitbucket byggt runt det. Hosting Bitbucket är möjligt när data som genereras av dess användare har en databas att stanna, precis som PostgreSQL, men att integrera båda kräver ytterligare konfigurationer för exekvering i olika maskiner.

Översikt över nätverk

Ett lokalt nätverk kan skicka informationen mellan programmen utan att behöva exponera den för det externa nätverket, beroende på var användarna skulle vara.

1.1. Lokalt nätverk (LAN).

Med separationen av problem kan Bitbucket och PostgreSQL prata med varandra för att uppnå sitt gemensamma mål, tillhandahålla en distribuerad versionskontrollsystemplattform.

1.2. Bitbucket får åtkomst till PostgreSQL.

PostgreSQL förlitar sig på en socket som tillhandahålls av operativsystemet, så klustrets data hålls bakom en dörr skyddad av brandväggsregler.

1.3. PostgreSQL-datakälla.

Komma igång

Det finns inte mycket att säga eftersom detta är en ganska enkel process. PostgreSQL kommer att behöva konfigureras med en ny användare och databas redo för Bitbucket.

PostgreSQL

# Del 1:Förbereder databasen.$ pg_lsclusters$ sudo systemctl -a | grep postgres$ sudo -u postgres psql -c "\du" -c "\l"
2.1. Verifierar om det redan finns kluster som körs.
# Del 2:Skapar en ny användare (roll) och databas.$ sudo -u postgres psql -c "skapa roll thiago med createb inloggningslösenord 'Th14g0_P4ssw0rd'"$ psql -d postgres -c "skapa databas bitbucket_db"$ psql -d bitbucket_db -c "\du" -c "\l"
2.2. Ägaren till databasen är inte superanvändaren postgres.
# Del 3:Ändra klusterkonfigurationen (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 lyssna_adresser
2.3. Tillåter fjärranslutningar (postgresql.conf).
# Del 4:Ändra klusterkonfigurationen (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 # Tillåt fjärranslutningar (listen_addresses ='*') med autentisering" /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. Ändra åtkomstbehörigheter (pg_hba.conf).
# Del 5:Starta om klustret.$ sudo -u postgres psql -c "show listen_addresses"$ ss -nlp | grep 5432$ sudo systemctl omstart [email protected]$ sudo -u postgres psql -c "visa lyssna_adresser"$ ss -nlp | grep 5432
2.5. Tillämpa ändringarna.
# Del 6:Öppna dörren.$ sudo ufw status$ sudo ufw allow 5432/tcp$ sudo ufw status$ ip-adr show
2.6. Konfigurera brandväggen och visa IP-adressen.
# Del 7:Ange ett lösenord för superanvändarrollen.$ sudo -u postgres psql -c "\password"
2.7. Ändra administratörslösenordet.

Bitbucket

Här är vad du sedan behöver göra på Bitbucket-sidan.

# Del 1:Verifierar om den tidigare inställningen var korrekt.$ telnet 192.168.0.106 5432# (Valfritt) Använder psql.$ sudo -u postgres psql -h 192.168.0.106 -p 5432 -d bit thia_gob - -U c "\conninfo"
3.1. Nå databasen på distans.
# Del 2:Extrahera Bitbucket Server.$ ls$ tar xzf atlassian-bitbucket-6.10.0$ ls$ du -sh atlassian-bitbucket-6.10.0$ träd -L 1 atlassian-bitbucket -6.10.0$ träd -L 1 atlassian-bitbucket-6.10.0/bin
3.2. Skript för Linux och Windows.
# Del 3:Modifiera skriptet (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. Konfigurerar BITBUCKET_HOME.
# Del 4:Modifiering av skriptet (set-jre-home.sh).$ readlink -f $(som 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. Konfigurerar JRE_HOME (Java).
# Del 5:Kontrollerar hårdvaran.$ cat /proc/cpuinfo | grep-processor | wc -l$ gratis -h
3.5. CPU-kärnor och RAM-minne vid start.
# Del 6:Köra Bitbucket-servern med Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh$ free -h
3.6. Exekvera med Elasticsearch (standard).
# Del 7:Köra Bitbucket-servern utan Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh --no-search$ free -h
3.7. Kör utan Elasticsearch (sparar 1 GB RAM).
# Del 8:Snabb titt på BITBUCKET_HOME.$ du -sh bitbucket-home$ tree -L 1 bitbucket-home
3.8. Insidan av BITBUCKET_HOME.

Integrera PostgreSQL och Bitbucket

Efter att ha konfigurerat PostgreSQL och Bitbucket måste deras integration göras via webbläsaren (http://localhost:7990/).

4.1. Bitbucket startar.
# Visar tabeller$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"
4.2. Listar aktuella databastabeller.

Du kan nu ställa in Bitbucket att använda Java Persistence API, med Hibernate som implementering, för att skapa domänmodellen i databasen, med hjälp av PostgreSQL JDBC-drivrutinen.

4.3. Konfiguration av datakälla.
# Visar tabeller (igen)$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"
4.4. Listar igen, visar 10 av 164 rader.
# Verifierar anslutningspoolen.$ psql -h 192.168.0.106 -d bitbucket_db -c "välj pid,användarnamn,applikationsnamn,tillstånd från pg_stat_activity där datname ='bitbucket_db'" före> 4.5. Visar anslutningspoolen. 

Slutsats

Tänk på att om ditt nätverk använder DHCP är det en bra idé att konfigurera IP-adressen till statisk i din router, annars kan Bitbucket misslyckas med att försöka hitta PostgreSQL senare.

Det mesta av den här bloggen har använt reguljära uttryck för att ändra konfigurationsfiler utan att öppna textredigerare, men de kan också användas i webbläsare för felsökningsändamål, försök att söka efter felmeddelandet "kunde inte ändra katalog till ?:Permission denied” med dubbla citattecken, eller något annat problem du kan hitta, ersätt den datorspecifika sökvägen med jokertecken '?'.


  1. Postgres Kopiera från Variable med CSV-data

  2. Hur IF-utlåtandet fungerar i SQL Server

  3. Databasindexering i ett nötskal med B+tree och Hash i jämförelse

  4. Hur man skapar ett beräknat fält i en Microsoft Access-fråga