Saat membuat microservice menggunakan Go a.k.a Golang, seringkali kita membutuhkan private library untuk digunakan di berbagai service. Agar dapat menjalankan go get
ke private library tersebut, dibutuhkan setup tambahan.
Btw cara ini saya dapat dari artikel ini. Disini saya tidak akan jelaskan maksud step-by-step, jadi kalau bingung lihat aja artikel tersebut.
Sebagai contoh, disini ceritanya saya ingin menggunakan private library di github.com/emsifa/privatelib
.
GOPRIVATE
1. Tambahkan env go env -w GOPRIVATE=github.com/emsifa/privatelib
Bisa juga pakai wildcard kalau kamu punya banyak private repo:
go env -w GOPRIVATE=github.com/emsifa/*
Atau pakai separator sebagai berikut:
go env -w GOPRIVATE=github.com/emsifa/*,bitbucket.org/emsifa/*
2. Config Git Global URL
git config --global url."[email protected]:emsifa/privatelib.git".insteadOf "https://github.com/emsifa/privatelib"
Kode di atas maksudnya kita tambahin semacam alias/proxy ke ~/.gitconfig
, kalau go mod
mau akses "https://github.com/emsifa/privatelib", requestnya diarahkan ke "[email protected]:emsifa/privatelib.git".
Karena disitu pakai URL git (bukan https), jadi harus punya akses SSH.
Step ini ga bisa pakai wildcard ya, jadi kalau mau gunain beberapa repo harus daftarin 1-1
3. Cobain
Sekarang di semua aplikasi Go kamu, kamu :
go get github.com/emsifa/privatelib
Udah gitu doang.