Go Proxy API
Tier: Free, Premium, Ultimate
Offering: Self-Managed, GitLab Dedicated
이 문서는 Go Packages에 대한 API 문서입니다. 이 API는 기본적으로 비활성화된 피처 플래그 뒤에 있습니다. GitLab 관리자는 GitLab Rails 콘솔에 액세스할 수 있어야 하며 여기에서 해당 API를 GitLab 인스턴스에 대해 활성화할 수 있습니다.
이 API는 Go 클라이언트에 의해 사용되며 일반적으로 매뉴얼으로 사용하도록 되어 있지 않습니다.
Go Proxy 작업 방법에 대한 지침은 Go Proxy package documentation을 참조하십시오.
이 엔드포인트들은 표준 API 인증 방법을 준수하지 않습니다.
지원되는 헤더 및 토큰 유형에 대한 자세한 내용은 Go Proxy package documentation을 참조하십시오. 문서화되지 않은 인증 방법은 향후에 제거될 수 있습니다.
디렉터리
지정된 Go 모듈에 대한 모든 태그된 버전 가져오기:
GET projects/:id/packages/go/:module_name/@v/list
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 문자열 | 예 | 프로젝트 ID 또는 프로젝트의 전체 경로. |
module_name
| 문자열 | 예 | Go 모듈의 이름. |
curl --header "Private-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: <개인_액세스_토큰>" "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: <개인_액세스_토큰>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.mod"
파일로 작성:
curl --header "Private-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: <개인_액세스_토큰>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip"
파일로 작성:
curl --header "Private-Token: <개인_액세스_토큰>" "https://gitlab.example.com/api/v4/projects/1/packages/go/my-go-module/@v/1.0.0.zip" >> foo.zip
이는 현재 디렉터리에 foo.zip
으로 작성합니다.