InfoGrab Docs

GitLab용 Go 프록시

GitLab용 Go 프록시에 대해 설명합니다.

히스토리 GitLab 13.1에 도입 go_proxy 라는 플래그와 함께 . 기본적으로 비활성화됩니다. 이 기능은 실험 입니다. Feature flag 이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 사용 가능하지만 프로덕션 사용 준비가 되지 않았습니다. 에픽 3043 을 참조하세요. GitLab용 Go 프록시를 사용하면 GitLab의 모든 프로젝트를 Go 프록시 프로토콜 로 가져올 수 있습니다. GitLab용 Go 프록시는 실험 으로, 대형 리포지터리의 잠재적 성능 문제로 인해 프로덕션 사용 준비가 되지 않았습니다. 이슈 218083 을 참조하세요. GitLab은 Go 프록시가 활성화되어 있더라도 패키지 레지스트리에 Go 모듈을 표시하지 않습니다. 이슈 213770 을 참조하세요. Go 프록시가 사용하는 특정 API 엔드포인트 문서는 Go 프록시 API 문서 를 참조하세요. GitLab을 Go 프록시로 추가 # GitLab을 Go 프록시로 사용하려면 Go 1.13 이상을 사용해야 합니다. 사용 가능한 프록시 엔드포인트는 프로젝트별로 모듈을 가져오는 /api/v4/projects/:id/packages/go 입니다. GitLab에서 Go 모듈을 가져오려면 프로젝트별 엔드포인트를 GOPROXY 에 추가하세요. Go는 엔드포인트를 쿼리하고 기본 동작으로 폴백합니다: go env -w GOPROXY='https://gitlab.example.com/api/v4/projects/1234/packages/go,https://proxy.golang.org,direct' 이 구성으로 Go는 다음 순서로 의존성을 가져옵니다: Go가 프로젝트별 Go 프록시에서 가져오려고 시도합니다. Go가 proxy.golang.org 에서 가져오려고 시도합니다. Go가 버전 관리 시스템 작업(예: git clone , svn checkout 등)으로 직접 가져옵니다. GOPROXY 가 지정되지 않은 경우 Go는 2단계와 3단계를 따르며, 이는 GOPROXY 를 https://proxy.golang.org,direct 로 설정하는 것과 같습니다. GOPROXY 에 프로젝트별 엔드포인트만 포함된 경우 Go는 해당 엔드포인트만 쿼리합니다. Go 환경 변수 설정 방법에 대한 자세한 내용은 환경 변수 설정 을 참조하세요. 프라이빗 프로젝트에서 모듈 가져오기 # go 는 안전하지 않은 연결을 통한 자격 증명 전송을 지원하지 않습니다. 다음 단계는 GitLab이 HTTPS로 구성된 경우에만 작동합니다: GitLab용 Go 프록시에서 가져올 때 HTTP 기본 인증 자격 증명을 포함하도록 Go를 구성합니다. 공개 체크섬 데이터베이스에서 프라이빗 GitLab 프로젝트의 체크섬 다운로드를 건너뛰도록 Go를 구성합니다. 요청 인증 활성화 # api 또는 read_api 범위로 설정된 개인 액세스 토큰 을 만드세요. ~/.netrc 파일을 열고 다음 텍스트를 추가합니다. < > 의 변수를 실제 값으로 교체합니다. 잘못