Setup Formatter Odoo
Standarisasi Code Formatting Python dengan Black, isort, dan Flake8 Setup lengkap untuk VSCode dan PyCharm pada project Odoo v17 Overview Ketika tim developer bekerja pada codebase yang sama, perbedaan gaya penulisan kode antar individu dapat menjadi sumber noise yang tidak perlu — mulai dari perbedaan indentasi, urutan import, hingga panjang baris kode. Hal ini membuat code review menjadi lebih sulit dan git diff menjadi lebih berisik. Solusinya adalah menggunakan code formatter dan linter yang dijalankan secara konsisten di semua environment developer....
Postgresql Async Replication Concept
Replikasi database adalah salah satu pilar utama dalam membangun sistem yang memiliki ketersediaan tinggi (High Availability). Artikel ini akan membahas secara konseptual bagaimana Streaming Replication dengan mode Asynchronous bekerja, terutama dalam lingkungan yang menggunakan Docker. 1. Arsitektur Replikasi Asynchronous Dalam model asynchronous, kita memprioritaskan performa tulis (write performance) pada server utama agar aplikasi tetap responsif. Primary (Master): Server utama untuk operasi tulis dan baca. Ketika terjadi transaksi, server akan langsung melakukan commit sukses tanpa menunggu konfirmasi dari server replika....
Strategi Backup Restore Postgresql Docker
Pernahkah Anda membayangkan terbangun di pagi hari dan mendapati database utama Anda corrupt atau data penting sebulan lalu terhapus tanpa sengaja? Di sinilah peran Daily Backup menjadi penyelamat nyawa. Artikel ini akan membahas cara melakukan backup database PostgreSQL yang berjalan di dalam Docker Container secara manual, namun dengan pendekatan yang terstruktur untuk kebutuhan jangka panjang. Mengapa Kita Butuh Backup Manual? Meskipun sistem otomatis mungkin sudah berjalan, terkadang kita butuh melakukan backup manual untuk:...
Implementasi CI/CD menggunakan GitLab & GitLab Runner Untuk Project Odoo
Membangun CI/CD Pipeline untuk Odoo dengan GitLab dan Shell Executor Panduan konseptual membangun pipeline deployment otomatis yang aman, ringan, dan efisien untuk aplikasi Odoo berbasis Docker. Pendahuluan: Masalah yang Diselesaikan Dalam lingkungan pengembangan yang aktif, proses deployment manual adalah sumber masalah yang konsisten. Developer harus masuk ke server, menarik kode terbaru, lalu merestart container secara manual — sebuah rutinitas yang memakan waktu, rawan human error, dan tidak terdokumentasi dengan baik....
PostgreSQL Replication
PostgreSQL Replication Kalo kamu membaca artikel ini, artinya kamu sudah menganggap replikasi database adalah sesuatu yang krusial. Beruntung, PostgreSQL secara default mendukung replikasi dengan streaming data Asynchronous dan Synchronous. Asynchronous & Synchronous PostgreSQL mendukung 2 jenis streaming data pada proses replikasi. Async dan Sync. Asynchronous Replication Pada replikasi Asinkron, commit transaksi di server Primary dikonfirmasi berhasil ke klien segera setelah data Write-Ahead Log (WAL) ditulis ke disk Primary. Server Primary TIDAK menunggu konfirmasi apa pun dari server Standby bahwa mereka telah menerima atau memproses WAL tersebut....
Git Stash - Part 2
Git Stash Pro Tips Artikel ini adalah lanjutan dari artikel Git Stash - Part 1. Pada artikel ini, kita akan coba menggunakan Stash seperti seorang pro. Menyimpan Stash Dengan Pesan git stash push -m "pesan_commit_untuk_stash" yang nantinya bisa dijadikan referensi task yang belum selesai. Lalu ketika kita cek list index stash maka akan muncul sebagai berikut, Menampilkan Konten Stash Jikalau kita ingin melihat konten dari stash, kita bisa gunakan command git stash show -p <index_stash>....
Git Stash - Part 1
Latar Belakang Ketika seorang developer sedang mengerjakan sebuah fitur lalu ditengah-tengah pekerjaan yang belum selesai, developer terpaksa atau dipaksa untuk meninggalkan pekerjaan yang belum selesai di branch tersebut, untuk pindah ke branch lain. Biasanya dikarenakan ada pekerjaan lain yang lebih urgent untuk diselesaikan yang menuntut developer untuk checkout atau pindah dari branch yang sedang di develop. Pada waktu tersebut, biasanya developer malas atau enggan untuk membuat commit dari pekerjaan yang belum selesai....
Shell Script Untuk Backup Otomatis
Latar Belakang Masalah Sebagai seorang programmer Odoo, kita wajib untuk melakukan backup rutin aplikasi. Aplikasi Odoo bisa di backup melalui frontend. Namun, ketika harus dilakukan rutin, adakalanya saya lupa untuk melakukan backup. Dikarenakan load pekerjaan yang sedang banyak, atau memang lupa saja :) Maka dari itu, diperlukan suatu mekanisme backup otomatis. Dan ketika proses backup selesai, entah itu berhasil atau gagal, maka akan mengirimkan notifikasi melalui webhook discord. Namun, kali ini, saya hanya akan melakukan backup terhadap database-nya saja....
Cara Koneksi SSH Tanpa Password
Latar Belakang Masalah Akan datang saatnya ketika kita perlu membuat koneksi dari server A ke server B menggunakan SSH. Namun, kita sebal atau memang mengganggu proses otamasi karena harus selalu input password ketika login menggunakan SSH. Tujuan Kita akan coba melakukan login menggunakan SSH ke server lain tanpa harus input password. Store SSH pada Authorized Keys Intinya, di server A itu harus punya kartu pass milik server B! Analoginya, misal kita ingin memasuki sebuah ruangan yang punya level keamanan tinggi....
Konfigurasi Dasar CI/CD Gitlab
Persyaratan Saya menggunakan Gilab self-hosted dan gitlab-runner yang di install menggunakan docker. Jika belum dan ingin install GitLab self-hosted bisa lihat caranya disini. Jika ingin install GitLab Runner menggunakan docker bisa lihat caranya disini. Buat job sederhana Sekarang kita akan coba membuat job sederhana. Job yang dijalankan akan seperti ini: Job akan ke trigger jika ada perubahan di branch main. Job akan menjalankan stages build dan deploy. Job akan dijalankan di dalam docker....