I systemudvikling er kommunikation et nøgleelement for at opnå succes på ethvert projekt. Dette er fordi det er afgørende for hele udviklingscyklussen; fra indsamling af krav til levering af et minimumslevedygtigt produkt.
Ved at bruge et distribueret versionskontrolsystem (som Git - en industristandard) kan udviklere indsende små stykker kode og arbejde sammen med tjenester som Bitbucket bygget op omkring det. Hosting af Bitbucket er muligt, når de data, der genereres af dets brugere, har en database, der skal forblive, ligesom PostgreSQL, men at integrere begge kræver yderligere konfigurationer til afvikling på forskellige maskiner.
Netværksoversigt
Et lokalnetværk kan videregive informationen mellem programmerne uden at skulle udsætte den for det eksterne netværk, afhængigt af hvor brugerne ville være.
1.1. Local area network (LAN).Med adskillelsen af bekymringer kan Bitbucket og PostgreSQL tale med hinanden for at nå deres fælles mål, ved at levere en distribueret versionskontrolsystemplatform.
1.2. Bitbucket får adgang til PostgreSQL.PostgreSQL er afhængig af en socket fra operativsystemet, så dataene i klyngen opbevares bag en dør, der er beskyttet af firewall-regler.
1.3. PostgreSQL datakilde.Kom godt i gang
Der er ikke meget at sige, da dette er en ret simpel proces. PostgreSQL skal konfigureres med en ny bruger og database klar til Bitbucket.
PostgreSQL
# Del 1:Forberedelse af databasen.$ pg_lsclusters$ sudo systemctl -a | grep postgres$ sudo -u postgres psql -c "\du" -c "\l"2.1. Bekræfter, om der allerede kører klynger.
# Del 2:Oprettelse af en ny bruger (rolle) og database.$ sudo -u postgres psql -c "create role thiago with createdb login password 'Th14g0_P4ssw0rd'"$ psql -d postgres -c "opret database bitbucket_db"$ psql -d bitbucket_db -c "\du" -c "\l"2.2. Ejeren af databasen er ikke superbrugeren postgres.
# Del 3:Ændring af klyngekonfigurationen (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 kat /etc/postgresql/11/main/postgresql.conf | grep lytte_adresser2.3. Tillad fjernforbindelser (postgresql.conf).
# Del 4:Ændring af klyngekonfigurationen (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 # Tillad fjernforbindelser (listen_addresses ='*') med godkendelse" /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.conf2.4. Ændring af adgangstilladelser (pg_hba.conf).
# Del 5:Genstart af klyngen.$ sudo -u postgres psql -c "show listen_addresses"$ ss -nlp | grep 5432$ sudo systemctl genstart [email protected]$ sudo -u postgres psql -c "vis listen_addresses"$ ss -nlp | grep 54322.5. Anvendelse af ændringerne.
# Del 6:Åbning af døren.$ sudo ufw status$ sudo ufw tillade 5432/tcp$ sudo ufw status$ ip adr show2.6. Konfiguration af firewallen og visning af IP-adressen.
# Del 7:Indstil en adgangskode til superbrugerrollen.$ sudo -u postgres psql -c "\password"2.7. Ændring af admin adgangskode.
Bitbucket
Her er, hvad du derefter skal gøre på Bitbucket-siden.
# Del 1:Bekræftelse af, om den tidligere opsætning var korrekt.$ telnet 192.168.0.106 5432# (Valgfri) Brug af psql.$ sudo -u postgres psql -h 192.168.0.106 -p 5432 -d bit thia_go_db - -U c "\conninfo"3.1. At nå databasen eksternt.
# Del 2:Udpakning af Bitbucket-serveren.$ ls$ tar xzf atlassian-bitbucket-6.10.0$ ls$ du -sh atlassian-bitbucket-6.10.0$ træ -L 1 atlassian-bitbucket -6.10.0$ træ -L 1 atlassian-bitbucket-6.10.0/bin3.2. Scripts til Linux og Windows.
# Del 3:Ændring af scriptet (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$ kat atlassian-bitbucket-6.10.0/bin/set-bitbucket-home.sh | grep BITBUCKET_HOME=/3.3. Konfiguration af BITBUCKET_HOME.
# Del 4:Ændring af scriptet (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$ kat atlassian-bitbucket-6.10.0/bin/set-jre-home.sh | grep JRE_HOME=/3.4. Konfigurerer JRE_HOME (Java).
# Del 5:Kontrol af hardwaren.$ cat /proc/cpuinfo | grep processor | wc -l$ gratis -h3.5. CPU-kerner og RAM ved opstart.
# Del 6:Kørsel af Bitbucket-serveren med Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh$ free -h3.6. Udførelse med Elasticsearch (standard).
# Del 7:Kørsel af Bitbucket-serveren uden Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh --no-search$ free -h3.7. Udfører uden Elasticsearch (sparer 1 GB RAM).
# Del 8:Hurtigt kig på BITBUCKET_HOME.$ du -sh bitbucket-home$ tree -L 1 bitbucket-home3.8. Inde i BITBUCKET_HOME.
Integration af PostgreSQL og Bitbucket
Efter konfiguration af PostgreSQL og Bitbucket skal deres integration ske via browseren (http://localhost:7990/).
4.1. Bitbucket starter op.# Viser tabeller$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"4.2. Visning af aktuelle databasetabeller.
Du kan nu konfigurere Bitbucket til at bruge Java Persistence API, med Hibernate som implementering, til at oprette domænemodellen i databasen ved hjælp af PostgreSQL JDBC-driveren.
4.3. Datakildekonfiguration.# Viser tabeller (igen)$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"4.4. Lister igen, viser 10 af 164 rækker.
# Bekræfter forbindelsespuljen.$ psql -h 192.168.0.106 -d bitbucket_db -c "select pid,usename,application_name,state from pg_stat_activity where datname ='bitbucket_db'" før> 4.5. Viser forbindelsespuljen.Konklusion
Husk på, at hvis dit netværk bruger DHCP, er det en god idé at konfigurere IP-adressen til statisk i din router, ellers kan Bitbucket mislykkes ved at forsøge at finde PostgreSQL senere.
Det meste af denne blog har gjort brug af regulære udtryk til at ændre konfigurationsfiler uden at åbne teksteditorer, men de kan også bruges på webbrowsere til fejlfindingsformål, prøv at søge efter fejlmeddelelsen "kunne ikke skift mappe til ?:Tilladelse nægtet" med dobbelte anførselstegn eller ethvert andet problem, du måtte finde, og erstatte den computerspecifikke sti med jokertegn '?'.