Local Development Setup - Lumina-Enterprise-Solutions/prism-auth-service GitHub Wiki
🚀 Local Development Setup
Panduan ini akan membantu Anda menyiapkan dan menjalankan prism-auth-service
di mesin lokal Anda untuk pengembangan dan pengujian.
Penting: Layanan ini adalah bagian dari monorepo dan dirancang untuk dijalankan bersama layanan lain menggunakan Docker Compose dari direktori root.
✅ Prasyarat
Sebelum memulai, pastikan Anda telah menginstal perangkat lunak berikut:
- Docker & Docker Compose: Untuk menjalankan layanan dan dependensinya (Postgres, Redis, dll.) dalam kontainer.
- Go: Versi
1.24
atau lebih tinggi, untuk menjalankan tes dan linter. - make: Untuk menggunakan perintah shortcut yang telah disediakan.
🏃 Menjalankan Seluruh Ekosistem
Cara termudah dan paling direkomendasikan untuk menjalankan prism-auth-service
adalah dengan menjalankan seluruh platform dari direktori root monorepo.
- Buka terminal di direktori root
lumina-enterprise-solutions
. - Jalankan perintah berikut:
Perintah ini akan melakukan hal berikut:make up
- Membangun image Docker untuk semua layanan, termasuk
prism-auth-service
. - Menjalankan semua kontainer yang didefinisikan di
docker-compose.yml
, seperti database, Redis, Vault, dan semua microservices. - Secara otomatis menangani jaringan dan dependensi antar layanan.
- Membangun image Docker untuk semua layanan, termasuk
🛠️ Perintah Makefile Lokal
Saat berada di dalam direktori services/prism-auth-service
, Anda dapat menggunakan Makefile
lokal untuk tugas-tugas spesifik layanan:
Perintah | Deskripsi |
---|---|
make build |
Membangun (atau membangun ulang) image Docker khusus untuk layanan ini. |
make test |
Menjalankan unit tests (-short ). Tes ini cepat dan tidak memerlukan dependensi eksternal seperti database. |
make test-integration |
Menjalankan semua tes, termasuk integration test yang memerlukan koneksi ke database dan Redis yang sedang berjalan. |
make lint |
Menjalankan linter golangci-lint untuk memeriksa kualitas kode. |
make tidy |
Membersihkan dan merapikan file go.mod dan go.sum . |
Contoh Penggunaan
Menjalankan unit tests:
# Dari dalam direktori /services/prism-auth-service
make test
Menjalankan integration tests (pastikan make up
sudah berjalan dari root):
# Dari dalam direktori /services/prism-auth-service
make test-integration