go get private repo ทำอย่างไร

น่าจะมีหลายคนที่เริ่มใช้ go ในองค์กร บริษัทของตัวเอง บางคนเริ่มมีหลายโปรเจ็ค และอยากเอาของที่ใช้ซ้ำๆกันในหลายๆโปรเจ็คนั้น แยกออกไปเป็น library แล้วใช้ go get เข้ามาแทน ซึ่งผมเองก็เริ่มอยากทำแบบนั้นเหมือนกัน วันนี้เลยเอาประสบการณ์มาเหลาให้กันฟัง ว่าจะต้องทำอย่างไรบ้าง

เริ่มจากท่าง่ายๆก่อน สำหรับคนที่ใช้ go get
เนื่องจาก go get จริงๆแล้ว เบื้องหลังมันไปเรียก git อีกที ท่านี้เลยต้องทำที่ git ดังนี้ครับ

git config –global url.”git@bitbucket.org:”.insteadOf “https://bitbucket.org/”

จากนั้นทดลอง

go getbitbucket.org/owner/log

 

ทีนี้ บางคนตั้ง git ในองค์กรเป็น http ธรรมดาทำไง ทำตามนี้ครับ

git config –global url.“git@gitlab.odds.team:”.insteadOf “http://gitlab.odds.team/”
go get -insecure gitlab.odds.team/owner/log

และสุดท้าย สำหรับผู้ที่ใช้ glide ส่วนตัวอื่นไม่รู้นะครับ เพราะไม่ได้ใช้
สำหรับ glide จะต้องไปเพิ่มใน glide.yaml เองครับ ยกตัวอย่างเช่น

- package:gitlab.odds.team/owner/log
  repo: git@gitlab.odds.team:owner/log
  vcs: git
แล้วสั่ง glide up ดูครับ
จบเพียงเท่านี้