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

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

Barbara Streisand
Barbara Streisand원래의
2024-10-26 11:38:30565검색

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

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

Go App Engine 표준 프로젝트를 Go 1.11의 모듈로 마이그레이션하는 경우 , 개발자는 비공개 모듈에 인증 문제가 발생할 수 있습니다. gcloud 앱 배포 중에 발생하는 "403 Forbidden" 오류를 해결하는 방법은 다음과 같습니다.

문제

Bitbucket에서 호스팅되는 비공개 모듈을 사용하는 프로젝트 배포가 실패합니다. 비공개 저장소에 대한 인증 부족.

해결책

Google Cloud Build에서 직접 비공개 저장소에 액세스하기 위한 자격 증명을 설정하는 대신 Go의 모듈 교체 기능을 사용하는 것이 좋습니다. 이렇게 하면 GAE가 원격 버전 대신 로컬 코드를 사용하도록 리디렉션됩니다.

디렉터리 구조

다음과 같이 프로젝트 파일을 구성하세요.

myService/
    src/
        service.go
        go.mod
    build/
        gae/
            src/        // simlink to ../../src
            modules/    // git ignored, contains cloned modules.
            app.go
            go.mod
            app.yaml

방법:

  1. build/gae/go.mod에서 git 모듈 대체를 사용하여 GAE를 로컬 코드를 사용하도록 리디렉션합니다:
replace bitbucket.org/me/myService => ./src
replace bitbucket.org/me/myModule => ./modules/utils
  1. myService/src/go.mod를 구문 분석하여 전용 모듈의 올바른 버전을 식별하고 이를 build/gae/modules 폴더에 복제하는 빌드 스크립트를 생성합니다.

장점

  • 비공개 모듈 패키지는 GAE와 무관하므로 다른 환경(예: docker)용으로 구축할 수 있습니다.
  • Go의 모듈 시스템을 사용하여 종속성 관리를 단순화합니다. .

단점

  • 비공개 모듈이 다른 비공개 모듈에 종속되면 복잡성이 발생할 수 있습니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.