- 데비안 API 활성화
- 데비안 그룹 API 활성화
- 패키지 파일 업로드
- 패키지 다운로드
- 경로 접두어
- 배포 릴리스 파일 다운로드
- 서명된 배포 릴리스 파일 다운로드
- 릴리스 파일 서명 다운로드
- 패키지 인덱스 다운로드
- 해시별 패키지 인덱스 다운로드
- 데비안 설치 프로그램 패키지 인덱스 다운로드
- 해시별 Debian 설치 프로그램 패키지 인덱스 다운로드
- 소스 패키지 인덱스 다운로드
- 해시별 소스 패키지 인덱스 다운로드
데비안 API
- GitLab 13.5에서 데비안 API가 도입되었습니다.
- GitLab 14.2에서 데비안 그룹 API가 도입되었습니다.
- 피처 플래그에 의해 배포되었으며 기본적으로 비활성화되어 있습니다.
이 문서는 데비안용 API 문서입니다.
GitLab 패키지 레지스트리에서 데비안 패키지를 업로드하고 설치하는 방법에 대한 설명은 데비안 레지스트리 문서를 참조하십시오.
데비안 API 활성화
데비안 API는 기본적으로 비활성화된 피처 플래그 뒤에 있습니다. GitLab Rails 콘솔에 액세스할 수있는 GitLab 관리자는이를 활성화하도록 선택할 수 있습니다. 활성화하려면 [데비안 API 활성화] 지침을 따르십시오.
데비안 그룹 API 활성화
데비안 그룹 API는 기본적으로 비활성화된 피처 플래그 뒤에 있습니다. GitLab Rails 콘솔에 액세스할 수있는 GitLab 관리자는이를 활성화하도록 선택할 수 있습니다. 활성화하려면 [데비안 그룹 API 활성화] 지침을 따르십시오.
데비안 패키지 리포지터리에 인증
데비안 패키지 리포지터리에 인증을 참조하십시오.
패키지 파일 업로드
데비안 패키지 파일 업로드:
PUT projects/:id/packages/debian/:file_name
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| string | 예 | 프로젝트의 ID 또는 전체 경로입니다. |
file_name
| string | 예 | 데비안 패키지 파일의 이름입니다. |
distribution
| string | 아니요 | 유통 코드 이름 또는 스위트입니다. 명시적 유통 및 컴포넌트와 함께 사용됩니다. |
component
| string | 아니요 | 패키지 파일의 컴포넌트입니다. 명시적 유통 및 컴포넌트와 함께 사용됩니다. |
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file path/to/mypkg.deb \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/mypkg.deb"
명시적 유통 및 컴포넌트로 업로드:
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file /path/to/myother.deb \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/myother.deb?distribution=sid&component=main"
패키지 다운로드
- GitLab 14.2에서 도입되었습니다.
패키지 파일을 다운로드합니다.
GET projects/:id/packages/debian/pool/:distribution/:letter/:package_name/:package_version/:file_name
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | 예 | 데비안 배포의 코드 이름 또는 스위트입니다. |
letter
| string | 예 | 데비안 분류 (첫 글자 또는 lib-첫 글자)입니다. |
package_name
| string | 예 | 소스 패키지 이름입니다. |
package_version
| string | 예 | 소스 패키지 버전입니다. |
file_name
| string | 예 | 파일 이름입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb"
출력을 파일로 작성:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드 된 파일을 작성합니다.
경로 접두어
설명되어 있는 나머지 엔드포인트는 각각 다른 범위에서 요청을 수행하는 두 세트의 동일한 경로입니다.
- 프로젝트 수준 접두어를 사용하여 프로젝트의 범위에서 요청을 수행하십시오.
- 그룹 수준 접두어를 사용하여 단일 그룹의 범위에서 요청을 수행하십시오.
이 문서의 예는 모두 프로젝트 수준 접두어를 사용합니다.
프로젝트 수준
/projects/:id/packages/debian`
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| string | 예 | 프로젝트 ID 또는 전체 프로젝트 경로입니다. |
그룹 수준
/groups/:id/-/packages/debian`
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| string | 예 | 프로젝트 ID 또는 전체 그룹 경로입니다. |
배포 릴리스 파일 다운로드
- 소개됨 in GitLab 14.1.
데비안 배포 파일을 다운로드합니다.
GET <route-prefix>/dists/*distribution/Release
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | 데비안 배포의 코드명 또는 스윗입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release"
파일을 다운로드하여 파일로 저장합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드된 파일을 작성합니다.
서명된 배포 릴리스 파일 다운로드
- 소개됨 in GitLab 14.1.
서명된 데비안 배포 파일을 다운로드합니다.
GET <route-prefix>/dists/*distribution/InRelease
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | 데비안 배포의 코드명 또는 스윗입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease"
파일을 다운로드하여 파일로 저장합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드된 파일을 작성합니다.
릴리스 파일 서명 다운로드
- 소개됨 in GitLab 14.2.
데비안 릴리스 파일 서명을 다운로드합니다.
GET <route-prefix>/dists/*distribution/Release.gpg
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | 데비안 배포의 코드명 또는 스윗입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg"
파일을 다운로드하여 파일로 저장합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드된 파일을 작성합니다.
패키지 인덱스 다운로드
- 소개됨 in GitLab 14.2.
패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/Packages
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | 데비안 배포의 코드명 또는 스윗입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages"
파일을 다운로드하여 파일로 저장합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드된 파일을 작성합니다.
해시별 패키지 인덱스 다운로드
- 소개됨 in GitLab 15.4.
해시별 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/by-hash/SHA256/:file_sha256
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | 데비안 배포의 코드명 또는 스윗입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
파일을 다운로드하여 파일로 저장합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드된 파일을 작성합니다.
데비안 설치 프로그램 패키지 인덱스 다운로드
- 소개됨 in GitLab 15.4.
데비안 설치 프로그램 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/Packages
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | 데비안 배포의 코드명 또는 스윗입니다. |
component
| string | yes | 배포 컴포넌트 이름입니다. |
architecture
| string | yes | 배포 아키텍처 유형입니다. |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages"
파일을 다운로드하여 파일로 저장합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드된 파일을 작성합니다.
해시별 Debian 설치 프로그램 패키지 인덱스 다운로드
- GitLab 15.4에서 소개됨.
해시별 Debian 설치 프로그램 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/by-hash/SHA256/:file_sha256
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포판의 코드명 또는 스위트 |
component
| string | yes | 배포판 컴포넌트명 |
architecture
| string | yes | 배포판 아키텍처 유형 |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
소스 패키지 인덱스 다운로드
- GitLab 15.4에서 소개됨.
소스 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/source/Sources
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포판의 코드명 또는 스위트 |
component
| string | yes | 배포판 컴포넌트명 |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.
해시별 소스 패키지 인덱스 다운로드
- GitLab 15.4에서 소개됨.
해시별 소스 패키지 인덱스를 다운로드합니다.
GET <route-prefix>/dists/*distribution/:component/source/by-hash/SHA256/:file_sha256
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
distribution
| string | yes | Debian 배포판의 코드명 또는 스위트 |
component
| string | yes | 배포판 컴포넌트명 |
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
출력을 파일로 작성합니다:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
이 명령은 현재 디렉터리에 원격 파일 이름을 사용하여 다운로드한 파일을 작성합니다.