- Debian API を有効化
- Debian グループ API を有効にする
- パッケージファイルのアップロード
- パッケージのダウンロード
- ルートプレフィックス
- ディストリビューションリリースファイルのダウンロード
- 署名付きディストリビューションリリースファイルのダウンロード
- リリースファイル署名のダウンロード
- パッケージインデックスのダウンロード
- ハッシュによるパッケージインデックスのダウンロード
- Debian インストーラパッケージのインデックスのダウンロード
- Debian インストーラパッケージのインデックスをハッシュでダウンロード
- ソース・パッケージ・インデックスのダウンロード
- ソースパッケージのインデックスをハッシュでダウンロード
Debian API
- GitLab 13.5で導入されたDebian API。
- GitLab 14.2 で導入された Debian グループ API。
- 機能フラグの後ろにデプロイされ、デフォルトでは無効になっています。
これはDebian 用の API ドキュメントです。
GitLab パッケージレジストリから Debian パッケージをアップロードしてインストールする方法については、Debian レジストリのドキュメントをご覧ください。
Debian API を有効化
Debian APIは機能フラグの後ろにあり、デフォルトでは無効になっています。GitLab Rails コンソールにアクセスできる GitLab 管理者は、これを有効にすることができます。有効にするには、Enable the Debian API の指示に従ってください。
Debian グループ API を有効にする
DebianグループAPIは機能フラグの後ろにあり、デフォルトでは無効になっています。GitLab Rails コンソールにアクセスできる GitLab 管理者は、これを有効にすることができます。有効にするには、Enable the Debian group API の指示に従ってください。
Debian パッケージリポジトリへの認証
Debian パッケージリポジトリへの認証を参照してください。
パッケージファイルのアップロード
Debian パッケージファイルをアップロードします:
PUT projects/:id/packages/debian/:file_name
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトのIDまたはフルパス。 |
file_name | 文字列です。 | yes | Debian パッケージファイルの名前。 |
distribution | 文字列です。 | いいえ | ディストリビューションのコードネームまたはスイート。ディストリビューションとコンポーネントを明示的に指定してアップロードする場合に、component とともに使用します。 |
component | 文字列です。 | いいえ | パッケージファイルコンポーネント。distribution と共に、ディストリビューションとコンポーネントを明示的に指定してアップロードする場合に使用します。 |
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 | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
letter | 文字列です。 | yes | Debian の分類 (first-letter または lib-first-letter). |
package_name | 文字列です。 | yes | ソースパッケージ名。 |
package_version | 文字列です。 | yes | ソースパッケージのバージョン。 |
file_name | 文字列です。 | yes | ファイル名。 |
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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。
ルートプレフィックス
説明されている残りのエンドポイントは、それぞれが異なるスコープでリクエストを行う、同じルートの2つのセットです:
- プロジェクトレベルの接頭辞は、単一のプロジェクトのスコープにリクエストするときに使います。
- グループレベルの接頭辞を使うと、一つのグループのスコープでリクエストできます。
このドキュメントの例では、すべてプロジェクトレベルの接頭辞を使っています。
プロジェクトレベル
/projects/:id/packages/debian`
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトIDまたはプロジェクトのフルパス。 |
グループレベル
/groups/:id/-/packages/debian`
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 文字列です。 | yes | プロジェクトIDまたはグループのフルパス。 |
ディストリビューションリリースファイルのダウンロード
GitLab 14.1 で導入されました。
Debian ディストリビューションファイルをダウンロードしてください。
GET <route-prefix>/dists/*distribution/Release
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
distribution | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。
署名付きディストリビューションリリースファイルのダウンロード
GitLab 14.1 で導入されました。
署名された Debian ディストリビューションファイルをダウンロードしてください。
GET <route-prefix>/dists/*distribution/InRelease
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
distribution | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。
リリースファイル署名のダウンロード
GitLab 14.2で導入されました。
Debian リリースファイル署名をダウンロードしてください。
GET <route-prefix>/dists/*distribution/Release.gpg
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
distribution | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。
パッケージインデックスのダウンロード
GitLab 14.2で導入されました。
パッケージインデックスをダウンロード
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/Packages
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
distribution | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
component | 文字列です。 | yes | ディストリビューション・コンポーネント名。 |
architecture | 文字列です。 | 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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。
ハッシュによるパッケージインデックスのダウンロード
GitLab 15.4で導入されました。
パッケージのインデックスをハッシュでダウンロード
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/by-hash/SHA256/:file_sha256
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
distribution | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
component | 文字列です。 | yes | ディストリビューション・コンポーネント名。 |
architecture | 文字列です。 | 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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。
Debian インストーラパッケージのインデックスのダウンロード
GitLab 15.4で導入されました。
Debian インストーラパッケージのインデックスをダウンロードしてください。
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/Packages
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
distribution | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
component | 文字列です。 | yes | ディストリビューション・コンポーネント名。 |
architecture | 文字列です。 | 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 | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
component | 文字列です。 | yes | ディストリビューション・コンポーネント名。 |
architecture | 文字列です。 | 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 | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
component | 文字列です。 | 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 | 文字列です。 | yes | Debian ディストリビューションのコードネームまたはスイート。 |
component | 文字列です。 | 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
ダウンロードしたファイルをカレントディレクトリにリモートファイル名で書き込みます。