Go 1.11을 사용하여 Google App Engine 표준에서 비공개 Go 모듈 인증
Go 1.11에서는 모듈을 도입하여 보다 효율적인 방법을 제공합니다. 의존성을 관리하는 것입니다. 그러나 Google App Engine Standard에서 비공개 모듈을 사용하는 경우 인증 문제가 발생할 수 있습니다. 이 문제는 gcloud 앱 배포를 시도하고 403 Forbidden 오류가 발생할 때 명백히 드러납니다.
이 문제를 해결하기 위해 벤더링이나 타사 종속성 관리 도구(예: DEP) 사용과 같은 전통적인 접근 방식이 채택되었습니다. 그러나 새로운 모듈 시스템에서는 이러한 솔루션이 이상적이지 않을 수 있습니다.
모듈 교체를 사용한 솔루션
자격증명을 처리하는 대신 실행 가능한 솔루션은 Go의 GAE가 로컬 코드를 사용하도록 지시하는 모듈 교체 기능입니다. 이 접근 방식에는 다음이 포함됩니다.
디렉터리 구조 설정:
다음 디렉토리 구조로 프로젝트를 구성합니다.
myService/ |__ src/ | |__ service.go | |__ go.mod |__ build/ |__ gae/ |__ src/ // Symlink to ../../src |__ modules/ // Git ignored |__ app.go |__ go.mod |__ app.yaml
GAE go.mod 수정:
gae 디렉토리에 go.mod 파일을 생성하고 교체를 사용하여 개인 모듈의 로컬 경로를 포함한 종속성을 지정합니다. :
module myServiceGAE require ( bitbucket.org/me/myService v0.0.0 google.golang.org/appengine v1.4.0 ) replace bitbucket.org/me/myService => ./src
개인 모듈 복제 또는 복사:
gae 디렉토리 아래의 모듈 폴더에서 이전에 개인 모듈을 복제하거나 복사합니다.
이 접근 방식을 사용하면 비공개 모듈 코드를 기본 프로젝트와 별도로 유지하면서 배포 중에 GAE가 올바른 버전을 사용하도록 할 수 있습니다.
장점:
단점:
위 내용은 Go 1.11을 사용하여 Google App Engine 표준에서 비공개 Go 모듈을 인증하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!