golangkorea/devfest2020-golang-community-qna

Go Project 의 dependency 관리 프로세스를 공유해 주세요

nicewook opened this issue · 3 comments

프로젝트 하나를 시작하고 개발, 운영하다보면
git init, go mod init, go mod tidy, go mod vendor 등등의 다양한 명령들을 사용하게 됩니다.

프로젝트의 dependency를 충실히 관리하기 위해 프로젝트의 시작부터 개발, 운영까지 각각의 명령어들을 어떻게 사용하면서 개발하시는지 노하우를 듣고 싶습니다. 예를 들어 Makefilego mod tidy && go mod vendor 가 항상 실행되게 한다거나, git hook 을 통해 매번 체크를 한다거나 등등

에디터에서 경고가 보이면 그제서야 go mod tidy하고 go mod vendor는 써 보지도 않았고 대충 되는대로 작업해온 편이라 저도 go modules 쪽을 많이 작업해 보신 분들의 경험담이 많이 궁금합니다.

저도 다른 분들의 의견이 궁금합니다!
저는
git init으로 프로젝트 생성
go mod init pkgname 으로 go mod file 만들고
go get으로 패키지 설치,
go mod tidy를 커밋전에 실행
이정도만 하는거같아요.

go mod vendor는 아직 벤더링 할만큼 디펜던시를 충분히 관리안해서 저는 따로 사용하지 않았습니다

빌 케네디의 vendor 관련한 포스팅을 보고 무릎을 탁치며 정리중인데 현업의 다른 분들 의견이 궁금했습니다.
벤더링이 원타임이 아니라 수시로 이루어지고, vendor 폴더 자체가 계속 git 으로 이력 관리가 된다면 이점이 많겠다 싶었습니다.

저도 다른 분들의 의견이 궁금합니다!
저는
git init으로 프로젝트 생성
go mod init pkgname 으로 go mod file 만들고
go get으로 패키지 설치,
go mod tidy를 커밋전에 실행
이정도만 하는거같아요.

go mod vendor는 아직 벤더링 할만큼 디펜던시를 충분히 관리안해서 저는 따로 사용하지 않았습니다