Go 프록시 API

Tier: Free, Premium, Ultimate Offering: Self-Managed, GitLab Dedicated

이것은 Go Packages에 대한 API 문서입니다. 이 API는 기본적으로 비활성화된 기능 플래그 뒤에 있습니다. GitLab 관리자는 GitLab 레일즈 콘솔에 액세스할 수 있어야 하며 고객의 GitLab 인스턴스에서 이 API를 활성화할 수 있습니다.

경고: 이 API는 Go 클라이언트에서 사용되며 일반적으로 수동으로 사용되지 않습니다.

Go 프록시 사용 방법에 대한 지침은 Go 프록시 패키지 문서를 참조하십시오.

참고: 이 엔드포인트들은 표준 API 인증 방법을 준수하지 않습니다. 지원되는 헤더 및 토큰 유형에 대한 자세한 내용은 Go Proxy 패키지 문서를 참조하십시오. 문서화되지 않은 인증 방법은 향후 제거될 수 있습니다.

목록

주어진 Go 모듈에 대한 모든 태그가 지정된 버전을 가져옵니다:

GET projects/:id/packages/go/:module_name/@v/list
속성 유형 필수 설명
id 문자열 프로젝트 ID 또는 프로젝트의 전체 경로입니다.
module_name 문자열 Go 모듈의 이름입니다.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/list"

예시 출력:

"v1.0.0\nv1.0.1\nv1.3.8\n2.0.0\n2.1.0\n3.0.0"

버전 메타데이터

주어진 Go 모듈에 대한 모든 태그가 지정된 버전을 가져옵니다:

GET projects/:id/packages/go/:module_name/@v/:module_version.info
속성 유형 필수 설명
id 문자열 프로젝트 ID 또는 프로젝트의 전체 경로입니다.
module_name 문자열 Go 모듈의 이름입니다.
module_version 문자열 Go 모듈의 버전입니다.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.info"

예시 출력:

{
  "Version": "v1.0.0",
  "Time": "1617822312 -0600"
}

모듈 파일 다운로드

.mod 모듈 파일을 가져옵니다:

GET projects/:id/packages/go/:module_name/@v/:module_version.mod
속성 유형 필수 설명
id 문자열 프로젝트 ID 또는 프로젝트의 전체 경로입니다.
module_name 문자열 Go 모듈의 이름입니다.
module_version 문자열 Go 모듈의 버전입니다.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.mod"

파일에 쓰기:

curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.mod" >> foo.mod

이는 현재 디렉토리에 foo.mod를 작성합니다.

모듈 소스 다운로드

모듈 소스의 .zip을 가져옵니다:

GET projects/:id/packages/go/:module_name/@v/:module_version.zip
속성 유형 필수 설명
id 문자열 프로젝트 ID 또는 프로젝트의 전체 경로입니다.
module_name 문자열 Go 모듈의 이름입니다.
module_version 문자열 Go 모듈의 버전입니다.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip"

파일에 쓰기:

curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip" >> foo.zip

이는 현재 디렉토리에 foo.zip를 작성합니다.