동시에 여러 패키지 바이너리 빌드
한 프로젝트에 여러 패키지가 있으면 각 바이너리를 개별적으로 빌드하는 것이 지루할 수 있습니다. 이 기사에서는 한 단계로 모든 바이너리를 빌드하는 방법을 살펴봅니다.
여러 바이너리용 스크립트 사용
"cmd" 폴더를 여러 패키지 바이너리의 루트 디렉터리로 사용하라는 기본 조언은 다음과 같습니다. 항상 효과적입니다. 대신 "cmd" 디렉터리의 패키지를 반복하고 각 패키지를 개별적으로 빌드하는 스크립트를 사용하는 것이 좋습니다.
cd $GOPATH/someProject
for CMD in `ls cmd`; do
go build ./cmd/$CMD
done
로그인 후 복사
이 스크립트는 "bin" 디렉터리에 개별적으로 빌드된 바이너리를 사용하여 앞서 언급한 디렉터리 구조를 생성합니다. .
대체 솔루션
보다 복잡한 프로젝트의 경우 추가 기능이 필요하거나 빌드 시스템과의 통합이 필요할 수 있습니다. 다음은 몇 가지 인기 있는 옵션입니다.
-
Makefile: Makefile은 빌드 규칙과 종속성을 정의하는 유연한 방법을 제공합니다. [Grafana의 build.go](https://github.com/grafana/grafana/blob/master/build.go)는 여러 바이너리를 빌드하는 데 사용되는 Makefile의 훌륭한 예입니다.
-
Go 빌드의 빌드 태그: 빌드 태그를 사용하면 특정 하위 디렉터리를 컴파일할 수 있습니다. [Torus' Makefile](https://github.com/coreos/torus/blob/master/Makefile)은 빌드 태그를 사용하여 여러 바이너리를 빌드하는 방법을 보여줍니다.
-
사용자 정의 빌드 스크립트: 빌드 및 패키징 프로세스를 처리하는 사용자 정의 스크립트를 생성할 수 있습니다. [Caddy's automate.go](https://github.com/mholt/caddy/blob/master/dist/automate.go)는 맞춤형 빌드 스크립트의 예입니다.
위 내용은 Go 프로젝트에서 여러 패키지 바이너리를 동시에 빌드하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!