> 백엔드 개발 > Golang > Go 1.11에서 Google App Engine 표준을 사용하여 Private Go 모듈을 인증하는 방법은 무엇입니까?

Go 1.11에서 Google App Engine 표준을 사용하여 Private Go 모듈을 인증하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-26 03:59:27
원래의
657명이 탐색했습니다.

How to Authenticate Private Go Modules with Google App Engine Standard in Go 1.11?

Go 1.11에서 Google App Engine 표준을 사용하여 비공개 Go 모듈 인증

Go에서 Go 모듈을 사용하도록 기존 App Engine 표준 프로젝트를 업데이트하는 경우 1.11에서는 개인 저장소로 인증을 시도할 때 오류가 발생할 수 있습니다. 이를 해결하기 위해 문제를 자세히 조사하고 솔루션을 제공하겠습니다.

문제

gcloud app install로 프로젝트를 배포하려고 하면 빌드가 실패합니다. 개인 저장소에 대한 액세스가 금지되었음을 나타내는 오류가 발생했습니다. Google Cloud Build 시스템은 기본적으로 비공개 저장소에 액세스할 수 없기 때문입니다.

솔루션

복잡한 자격 증명 관리 대신 Go의 기능을 활용하는 것이 가능합니다. GAE가 로컬 코드를 사용하도록 지정하는 모듈 대체 기능입니다. 단계 개요는 다음과 같습니다.

  1. 디렉터리 구조:

제공된 예와 유사한 디렉터리 구조를 생성합니다. 여기서 서비스 코드를 구분합니다. GAE 특정 코드에서.

  1. Go 모듈:

GAE 디렉토리에 go.mod 파일을 생성하여 필요한 종속성을 지정하고 모듈 교체를 사용하여 개인 모듈의 로컬 코드를 가리킵니다.

  1. Go 모듈 구문 분석:

빌드하기 전에 go.mod를 구문 분석하세요. 개인 모듈의 올바른 버전을 얻으려면 서비스 디렉터리에서 파일을 가져옵니다.

  1. 개인 모듈 복제:

개인 모듈을 모듈에 복제합니다. GAE 디렉터리 내의 폴더입니다. 선택적으로 로컬 디버깅 목적으로 WIP 모듈 소스 코드를 복사할 수도 있습니다.

예:

다음은 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

replace bitbucket.org/me/myModule => ./modules/utils
로그인 후 복사

장점:

  • 서비스 패키지를 GAE 지식과 분리하여 GAE 외부에서 재사용할 수 있도록 합니다.
  • 종속성을 단순화합니다. Go 모듈을 활용하여 관리 프로세스를 수행합니다.

주의 사항:

  • 한 비공개 모듈이 다른 비공개 모듈에 의존하는 경우 비공개 모듈 내의 종속성 관리가 복잡해질 수 있습니다.

위 내용은 Go 1.11에서 Google App Engine 표준을 사용하여 Private Go 모듈을 인증하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿