Dalam rekayasa sistem, komunikasi adalah elemen kunci untuk mencapai kesuksesan pada proyek apa pun. Ini karena ini sangat penting untuk seluruh siklus pengembangan; mulai dari mengumpulkan persyaratan hingga memberikan produk minimum yang layak.
Menggunakan sistem kontrol versi terdistribusi (seperti Git - standar industri), pengembang dapat mengirimkan potongan kecil kode dan bekerja sama dengan layanan seperti Bitbucket yang dibangun di sekitarnya. Hosting Bitbucket dimungkinkan ketika data yang dihasilkan oleh penggunanya memiliki database untuk disimpan, seperti halnya PostgreSQL, tetapi mengintegrasikan keduanya memerlukan konfigurasi tambahan untuk dijalankan di mesin yang berbeda.
Ikhtisar Jaringan
Jaringan area lokal dapat meneruskan informasi antar program tanpa perlu memaparkannya ke jaringan luar, tergantung di mana pengguna akan berada.

Dengan pemisahan masalah, Bitbucket dan PostgreSQL dapat berbicara satu sama lain untuk mencapai tujuan bersama, menyediakan platform sistem kontrol versi terdistribusi.

PostgreSQL bergantung pada soket yang disediakan oleh sistem operasi, sehingga data cluster disimpan di balik pintu yang dilindungi oleh aturan firewall.

Memulai
Tidak banyak yang bisa dikatakan karena ini adalah proses yang cukup sederhana. PostgreSQL perlu disiapkan dengan pengguna dan database baru yang siap untuk Bitbucket.
PostgreSQL
# Bagian 1:Mempersiapkan database.$ pg_lsclusters$ sudo systemctl -a | grep postgres$ sudo -u postgres psql -c "\du" -c "\l"

# Bagian 2:Membuat pengguna (peran) dan database baru.$ sudo -u postgres psql -c "buat peran thiago dengan kata sandi login createb 'Th14g0_P4ssw0rd'"$ psql -d postgres -c "buat database bitbucket_db"$ psql -d bitbucket_db -c "\du" -c "\l"

# Bagian 3:Mengubah konfigurasi cluster (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

# Bagian 4:Mengubah konfigurasi cluster (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 # Izinkan koneksi jarak jauh (listen_addresses ='*') dengan otentikasi" /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\ tinggi\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

# Bagian 5:Memulai ulang cluster.$ sudo -u postgres psql -c "show listen_addresses"$ ss -nlp | grep 5432$ sudo systemctl restart example@sqldat.com$ sudo -u postgres psql -c "tampilkan listen_addresses"$ ss -nlp | grep 5432

# Bagian 6:Membuka pintu.$ sudo ufw status$ sudo ufw allow 5432/tcp$ sudo ufw status$ ip addr show

# Bagian 7:Tetapkan sandi untuk peran pengguna super.$ sudo -u postgres psql -c "\password"

Bitbucket
Inilah yang perlu Anda lakukan di sisi Bitbucket.
# Bagian 1:Memverifikasi apakah pengaturan sebelumnya sudah benar.$ telnet 192.168.0.106 5432# (Opsional) Menggunakan psql.$ sudo -u postgres psql -h 192.168.0.106 -p 5432 -d bitbucket_db -U thiago - c "\conninfo"

# Bagian 2:Mengekstrak Server Bitbucket.$ 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

# Bagian 3:Memodifikasi skrip (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=/

# Bagian 4:Memodifikasi skrip (set-jre-home.sh).$ readlink -f $(yang 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=/

# Bagian 5:Memeriksa perangkat keras.$ cat /proc/cpuinfo | prosesor grep | wc -l$ gratis -h

# Bagian 6:Menjalankan Server Bitbucket dengan Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh$ free -h

# Bagian 7:Menjalankan Server Bitbucket tanpa Elasticsearch.$ ./atlassian-bitbucket/bin/start-bitbucket.sh --no-search$ free -h

# Bagian 8:Lihat sekilas BITBUCKET_HOME.$ du -sh bitbucket-home$ tree -L 1 bitbucket-home

Mengintegrasikan PostgreSQL &Bitbucket
Setelah mengkonfigurasi PostgreSQL dan Bitbucket, integrasinya harus dilakukan melalui browser (http://localhost:7990/).

# Menampilkan tabel$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"

Sekarang Anda dapat menyiapkan Bitbucket untuk menggunakan Java Persistence API, dengan Hibernate sebagai implementasinya, untuk membuat model domain dalam database, menggunakan driver PostgreSQL JDBC.

# Menampilkan tabel (lagi)$ psql -h 192.168.0.106 -d bitbucket_db -c "\dt"

# Memverifikasi kumpulan koneksi.$ 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. Menampilkan kumpulan koneksi.
Kesimpulan
Perlu diingat bahwa jika jaringan Anda menggunakan DHCP, sebaiknya konfigurasikan alamat IP ke statis di router Anda, atau Bitbucket mungkin gagal saat mencoba menemukan PostgreSQL nanti.
Sebagian besar blog ini telah menggunakan ekspresi reguler untuk mengubah file konfigurasi tanpa membuka editor teks, tetapi mereka juga dapat digunakan di browser web untuk tujuan debugging, coba cari pesan kesalahan “tidak bisa ubah direktori ke ?:Izin ditolak” dengan tanda kutip ganda, atau masalah lain yang mungkin Anda temukan, mengganti jalur khusus komputer dengan karakter pengganti '?'.