2017-10-14 12 views
1

Golang, mongoDB 및 Android 클라이언트로 작성된 API의 세 부분으로 분리 된 프로젝트를 작성하고 있습니다. 위와 같이 지시어를 만드는 것이 좋을 것이라고 생각했습니다. 하지만 golang의 GitHub의 프로젝트를위한 좋은 방법이 아니다 때이 구조를 같이하는 방법을Github 프로젝트 구조

MyProject 
├── API 
│   ├── scripts 
│   └── src 
│      └── some_go_file.go 
├── DB 
│   ├── db_scripts 
│   └── data 
└── AndroidDirectory 

어떤 생각이 같은 구조? 별도의 repos를 사용해야합니까 아니면 각 구성 요소를 별도의 분기에 두어야합니까?

+1

이 구조로 쉽게 빌드하고 배포 할 수 있다고 가정 할 때 단일 repo 및 분기를 사용하지 않는 이유는 없습니다. –

+0

API와 Android 클라이언트에 별도의 저장소를 사용하면보다 쉽게 ​​생활 할 수 있습니다. 버전 관리 및 출시에 대해 생각해보십시오. API가 DB에 의해 뒷받침된다면 API repo에 그 API를 넣을 것입니다. – reto

답변

2

github의 Go 프로젝트에는 특정 레이아웃이 부과되지 않습니다. 최상위 레벨에 일부 이동 파일이있는 메인 패키지를 가져 와서 gettable로 만드는 것이 좋습니다. 여기의 지침을 참조하십시오.하지만 작업 영역에 대해 이야기하는 것으로 시작해야합니다. 위로 스크롤하면 앱이 아니라는 점을 명심하십시오. 컴파일 및 간단한 프로그램을 실행하려면

https://golang.org/doc/code.html#Command

먼저 패키지 경로를 선택 (우리가 github.com/user/hello를 사용합니다) 및 작업 공간 내에서 해당 패키지 디렉토리를 생성 :

$ mkdir $ GOPATH/src/github.com/user/hello 그런 다음 Go 코드가 포함 된 해당 디렉토리 내에 hello.go라는 파일을 만듭니다.

이 그래서 내가 변경하려는 경우에만 비트의 - 최상위 수준에 적어도 한 가지 파일을 넣어, 당신은 당신이 원하는대로 구조에서 그 아래에 다른 패키지를 가질 수 있습니다 (이 경우의 src 디렉토리를 사용하는 것이 괜찮습니다 대부분의 패키지를 원한다).

Android 프로젝트에 별도의 repo를 사용합니다. 동일한 코드를 사용하지 않을 가능성이 있기 때문입니다 (네트워크에서 API를 사용하고 mongodb를 직접 사용하지 않을 것임).

그러면 API 프로젝트와 mongodb가 남습니다. 어쨌든 db 데이터와 스크립트가 api 서버와 관련이있을 수 있으므로 진화 할 것입니다. 내가 보여준대로이 스크립트를 프로젝트의 하위 디렉토리로 지정합니다.