Go 코드를 GitHub에 종속시키지 마세요

“Go 언어는 import 경로에 코드 호스팅 위치를 포함시키는 네임스페이스 방식을 사용하는데, 이는 코드를 GitHub 같은 특정 호스팅 제공자에 종속시키는 문제를 낳는다. 저자는 GitLab 등으로 이전 시 코드 수정이 필요해 한 회사가 GitHub, GitLab, Azure DevOps를 동시에 운영하며 비용을 낭비한 사례를 들며, go.iain.rocks 같은 커스텀 도메인을 사용해 호스팅 위치 변경 시에도 설치 명령이 그대로 유지되도록 할 것을 권장한다.”

AI 요약

Go 언어는 코드 네임스페이스에 코드를 가져올 위치(git 호스팅 주소)를 그대로 사용하는 특징이 있는데, 이로 인해 코드가 GitHub 같은 특정 호스팅 제공자에 종속되는 문제가 발생한다. 저자는 한 회사가 GitLab, GitHub, Azure DevOps를 동시에 운영하며 비용을 낭비한 사례를 언급하며, 커스텀 도메인(예: go.iain.rocks)을 사용해 호스팅 위치를 유연하게 변경할 것을 권장한다. Nginx 설정 예시와 함께 Go 도구의 ?go-get=1 쿼리를 활용한 리다이렉트 구성도 제공한다.

핵심 포인트

  • Go의 import 경로가 git 호스팅 주소와 직결되어 호스팅 이전 시 코드 수정이 불가피함
  • 한 기업이 세 개의 git 호스팅 플랫폼을 동시에 운영하며 비용 손실을 겪은 사례 존재
  • 커스텀 도메인(go.uber.org, go.mongodb.org 등)을 사용하면 호스팅 이전 시에도 사용자 명령어 변경 불필요
  • Nginx에서 go-get=1 쿼리 유무에 따라 사람과 Go 도구를 구분해 처리하는 설정 제공

향후 전망

  • 상용 Go 개발팀의 내부 라이브러리 네임스페이싱에 커스텀 도메인 도입이 확산될 가능성
  • 호스팅 종속성 문제를 해결하기 위한 도구(Boneclone 등)의 수요 증가 예상
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...