mirror of
https://gitea.com/gitea/docs.git
synced 2026-09-20 04:58:52 +00:00
docs: update zh-tw (#265)
Reviewed-on: https://gitea.com/gitea/docs/pulls/265 Reviewed-by: Lunny Xiao <[email protected]> Co-authored-by: ifurther <[email protected]> Co-committed-by: ifurther <[email protected]>
This commit is contained in:
@@ -4,19 +4,19 @@ slug: "alpine"
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Alpine 软件包注册表
|
||||
# Alpine 軟體包儲存庫
|
||||
|
||||
在您的用户或组织中发布 [Alpine](https://pkgs.alpinelinux.org/) 软件包。
|
||||
在您的使用者或組織中發佈 [Alpine](https://pkgs.alpinelinux.org/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Alpine 注册表,您需要使用像 curl 这样的 HTTP 客户端来上传包,并使用像 apk 这样的包管理器来消费包。
|
||||
要使用 Alpine 儲存庫,您需要使用像 curl 这样的 HTTP 客户端来上传包,並使用像 apk 这样的包管理器来消费包。
|
||||
|
||||
以下示例使用 `apk`。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包儲存庫
|
||||
|
||||
要注册 Alpine 注册表,请将 URL 添加到已知的 apk 源列表中 (`/etc/apk/repositories`):
|
||||
要注册 Alpine 儲存庫,請将 URL 添加到已知的 apk 源列表中 (`/etc/apk/repositories`):
|
||||
|
||||
```
|
||||
https://gitea.example.com/api/packages/{owner}/alpine/<branch>/<repository>
|
||||
@@ -24,43 +24,43 @@ https://gitea.example.com/api/packages/{owner}/alpine/<branch>/<repository>
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------------ | -------------- |
|
||||
| `owner` | 软件包所有者 |
|
||||
| `owner` | 軟體包所有者 |
|
||||
| `branch` | 要使用的分支名 |
|
||||
| `repository` | 要使用的仓库名 |
|
||||
| `repository` | 要使用的存放庫名 |
|
||||
|
||||
如果注册表是私有的,请在 URL 中提供凭据。您可以使用密码或[个人访问令牌](development/api-usage.md#通过-api-认证):
|
||||
如果註冊表是私有的,請在 URL 中提供凭据。您可以使用密碼或[个人访问令牌](development/api-usage.md#通過-api-認證):
|
||||
|
||||
```
|
||||
https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/alpine/<branch>/<repository>
|
||||
```
|
||||
|
||||
Alpine 注册表文件使用 RSA 密钥进行签名,apk 必须知道该密钥。下载公钥并将其存储在 `/etc/apk/keys/` 目录中:
|
||||
Alpine 儲存庫文件使用 RSA 密钥進行签名,apk 必須知道該密钥。下载公钥並将其存儲在 `/etc/apk/keys/` 目錄中:
|
||||
|
||||
```shell
|
||||
curl -JO https://gitea.example.com/api/packages/{owner}/alpine/key
|
||||
```
|
||||
|
||||
之后,更新本地软件包索引:
|
||||
之后,更新本地軟體包索引:
|
||||
|
||||
```shell
|
||||
apk update
|
||||
```
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布一个 Alpine 包(`*.apk`),请执行带有包内容的 HTTP `PUT` 操作,将其放在请求体中。
|
||||
要發佈一个 Alpine 包(`*.apk`),請執行带有包内容的 HTTP `PUT` 操作,将其放在請求體中。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/alpine/{branch}/{repository}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------------ | --------------------------------------------------------------------------------------------------- |
|
||||
| `owner` | 包的所有者。 |
|
||||
| `branch` | 分支可以与操作系统的发行版本匹配,例如:v3.17。 |
|
||||
| `repository` | 仓库可以用于[分组包](https://wiki.alpinelinux.org/wiki/Repositories) 或者只是 `main` 或类似的名称。 |
|
||||
| `repository` | 存放庫可以用于[分组包](https://wiki.alpinelinux.org/wiki/Repositories) 或者只是 `main` 或类似的名稱。 |
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的範例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -68,50 +68,50 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/alpine/v3.17/main
|
||||
```
|
||||
|
||||
如果您使用的是双重身份验证或 OAuth,请使用[个人访问令牌](development/api-usage.md#authentication)代替密码。
|
||||
您不能将具有相同名称的文件两次发布到一个包中。您必须首先删除现有的包文件。
|
||||
如果您使用的是双重身份驗證或 OAuth,請使用[個人訪問令牌](development/api-usage.md#authentication)代替密碼。
|
||||
您不能将具有相同名稱的文件两次發佈到一个包中。您必須首先删除現有的包文件。
|
||||
|
||||
服务器将以以下的 HTTP 状态码响应:
|
||||
服务器将以以下的 HTTP 狀態碼回應:
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| HTTP 狀態碼 | 含义 |
|
||||
| ----------------- | ------------------------------------------ |
|
||||
| `201 Created` | 软件包已发布。 |
|
||||
| `400 Bad Request` | 软件包的名称、版本、分支、仓库或架构无效。 |
|
||||
| `409 Conflict` | 具有相同参数组合的包文件已存在于软件包中。 |
|
||||
| `201 Created` | 軟體包已發佈。 |
|
||||
| `400 Bad Request` | 軟體包的名稱、版本、分支、存放庫或架构無效。 |
|
||||
| `409 Conflict` | 具有相同參數组合的包文件已存在于軟體包中。 |
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
要删除 Alpine 包,执行 HTTP 的 DELETE 操作。如果没有文件,这将同时删除包版本。
|
||||
要删除 Alpine 包,執行 HTTP 的 DELETE 操作。如果没有文件,这将同时删除包版本。
|
||||
|
||||
```
|
||||
DELETE https://gitea.example.com/api/packages/{owner}/alpine/{branch}/{repository}/{architecture}/{filename}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `branch` | 要使用的分支名 |
|
||||
| `repository` | 要使用的仓库名 |
|
||||
| `architecture` | 软件包的架构 |
|
||||
| `repository` | 要使用的存放庫名 |
|
||||
| `architecture` | 軟體包的架构 |
|
||||
| `filename` | 要删除的文件名 |
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的範例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password -X DELETE \
|
||||
https://gitea.example.com/api/packages/testuser/alpine/v3.17/main/test-package-1.0.0.apk
|
||||
```
|
||||
|
||||
服务器将以以下的 HTTP 状态码响应:
|
||||
服务器将以以下的 HTTP 狀態碼回應:
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ---------------- | ------------------ |
|
||||
| `204 No Content` | 成功 |
|
||||
| `404 Not Found` | 未找到软件包或文件 |
|
||||
| `404 Not Found` | 未找到軟體包或文件 |
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从 Alpine 注册表安装软件包,请执行以下命令:
|
||||
要从 Alpine 儲存庫安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
# use latest version
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
---
|
||||
date: "2023-05-15T00:00:00+00:00"
|
||||
slug: "container"
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Arch 儲存庫
|
||||
|
||||
在您的使用者或組織中發佈 [Arch](https://archlinux.org/packages/) 軟體包。 Arch 儲存庫的功能像是一個完整的[鏡像Arch 儲存庫](https://wiki.archlinux.org/title/mirrors\),需要調整系統的`/etc/pacman.conf`文件。
|
||||
|
||||
## 需求
|
||||
|
||||
系統需要安裝有HTTP客戶端像是`curl`來下載文件,且必須安裝有`pacman`軟體包管理工具。
|
||||
|
||||
## 配置 Arch 儲存庫
|
||||
|
||||
Arch 儲存庫的軟體都有`gpg`簽名驗證,所以需要匯入驗證需要的公鑰,下面是下載公鑰的範例。
|
||||
```sh
|
||||
wget https://gitea.example.com/api/packages/{owner}/arch/repository.key
|
||||
```
|
||||
|
||||
匯入公鑰之前,請先確認是否為該 Arch 儲存庫的公鑰,下面是檢視公鑰的範例。確認完成請記第二行的16為的`key id`
|
||||
```sh
|
||||
gpg --show-keys repository.key
|
||||
```
|
||||
|
||||
接下來要匯入到pacman的鑰匙圈中,下面是匯入的範例。
|
||||
```sh
|
||||
pacman-key --add repository.key
|
||||
pacman-key --lsign-key {key id}
|
||||
```
|
||||
|
||||
匯入驗證的公鑰,接下來要修改pacman的配置檔,位置是`/etc/pacman.conf`,內容如下。
|
||||
```conf
|
||||
[{owner}.gitea.example.com]
|
||||
SigLevel = Required
|
||||
Server = https://gitea.example.com/api/packages/{owner}/arch/{repository}/{architecture}
|
||||
```
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------------ | -------------- |
|
||||
| `owner` | 軟體包所有者 |
|
||||
| `repository` | 要使用的存放庫名 |
|
||||
| `architecture` | 軟體包的架构 |
|
||||
|
||||
如果註冊表是私有的,請在 URL 中提供凭据。您可以使用密碼或[个人访问令牌](development/api-usage.md#通過-api-認證):
|
||||
```
|
||||
Server = https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/arch/{repository}/{architecture}
|
||||
```
|
||||
|
||||
## 發佈軟體包
|
||||
|
||||
要發佈一个 Arch 軟體包,請執行带有包内容的 HTTP `PUT` 操作,将其放在請求體中。
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/arch/{repository}
|
||||
```
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------------ | -------------- |
|
||||
| `owner` | 軟體包所有者 |
|
||||
| `repository` | 要使用的存放庫名 |
|
||||
|
||||
使用 HTTP 基本身份驗證的範例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
--upload-file path/to/file.pkg.tar.zst \
|
||||
https://gitea.example.com/api/packages/testuser/arch/core
|
||||
```
|
||||
|
||||
如果您使用的是双重身份驗證或 OAuth,請使用[個人訪問令牌](development/api-usage.md#authentication)代替密碼。
|
||||
您不能将具有相同名稱的文件两次發佈到一个包中。您必須首先删除現有的包文件。
|
||||
|
||||
服务器将以以下的 HTTP 狀態碼回應:
|
||||
| HTTP 狀態碼 | 含义 |
|
||||
| ----------------- | ------------------------------------------ |
|
||||
| `201 Created` | 軟體包已發佈。 |
|
||||
| `400 Bad Request` | 軟體包的名稱、版本、分支、存放庫或架构無效。 |
|
||||
| `409 Conflict` | 具有相同參數组合的包文件已存在于軟體包中。 |
|
||||
|
||||
## 安裝軟體包
|
||||
|
||||
要从 AArch 儲存庫安裝軟體包,請執行以下命令:
|
||||
|
||||
```sh
|
||||
pacman -Sy {package_name}
|
||||
```
|
||||
|
||||
| Parameter | 含义 |
|
||||
| -------------- | ----------- |
|
||||
| `package_name` | 軟體包 |
|
||||
|
||||
## 删除軟體包
|
||||
|
||||
要删除 Arch 軟體包,執行 HTTP 的 DELETE 操作。如果没有文件,这将同时删除包版本。
|
||||
|
||||
```
|
||||
DELETE https://gitea.example.com/api/packages/{owner}/arch/{repository}/{package_name}/{package_version}/{architecture}
|
||||
```
|
||||
|
||||
|
||||
| 參數 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `repository` | 要使用的存放庫名 |
|
||||
| `architecture` | 軟體包的架构 |
|
||||
| `package_name` | 要删除的軟體名 |
|
||||
| `package_version` | 軟體版本 |
|
||||
|
||||
使用 HTTP 基本身份驗證的範例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password -X DELETE \
|
||||
https://gitea.example.com/api/packages/testuser/arch/core/test-package/1.0.0/x86-64
|
||||
```
|
||||
|
||||
服务器将以以下的 HTTP 狀態碼回應:
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ---------------- | ------------------ |
|
||||
| `204 No Content` | 成功 |
|
||||
| `404 Not Found` | 未找到軟體包或文件 |
|
||||
@@ -4,37 +4,37 @@ slug: "cargo"
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Cargo 软件包注册表
|
||||
# Cargo 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Cargo](https://doc.rust-lang.org/stable/cargo/) 软件包。
|
||||
為您的使用者或組織發佈 [Cargo](https://doc.rust-lang.org/stable/cargo/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
若要使用 Cargo 软件包注册表, 您需要安装 [Rust 和 Cargo](https://www.rust-lang.org/tools/install).
|
||||
若要使用 Cargo 軟體包註冊表, 您需要安裝 [Rust 和 Cargo](https://www.rust-lang.org/tools/install).
|
||||
|
||||
Cargo 将可用软件包的信息存储在一个存储在 git 仓库中的软件包索引中。
|
||||
这个仓库是与注册表交互所必需的。
|
||||
下面的部分将介绍如何创建它。
|
||||
Cargo 将可用軟體包的信息存儲在一个存儲在 git 存放庫中的軟體包索引中。
|
||||
这个存放庫是与註冊表交互所必需的。
|
||||
下面的部分将介绍如何建立它。
|
||||
|
||||
## 索引仓库
|
||||
## 索引存放庫
|
||||
|
||||
Cargo 将可用软件包的信息存储在一个存储在 git 仓库中的软件包索引中。
|
||||
在 Gitea 中,这个仓库有一个特殊的名称叫做 `_cargo-index`。
|
||||
在上传软件包之后,它的元数据会自动写入索引中。
|
||||
不应手动修改这个注册表的内容。
|
||||
Cargo 将可用軟體包的信息存儲在一个存儲在 git 存放庫中的軟體包索引中。
|
||||
在 Gitea 中,这个存放庫有一个特殊的名稱叫做 `_cargo-index`。
|
||||
在上传軟體包之后,它的元数据会自动写入索引中。
|
||||
不應手动修改这个註冊表的内容。
|
||||
|
||||
用户或组织软件包设置页面允许创建这个索引仓库以及配置文件。
|
||||
使用者或組織軟體包设置页面允许建立这个索引存放庫以及配置文件。
|
||||
如果需要,此操作将重写配置文件。
|
||||
例如,如果 Gitea 实例的域名已更改,这将非常有用。
|
||||
|
||||
如果存储在 Gitea 中的软件包与索引注册表中的信息不同步,设置页面允许重建这个索引注册表。
|
||||
这个操作将遍历注册表中的所有软件包,并将它们的信息写入索引中。
|
||||
如果有很多软件包,这个过程可能需要一些时间。
|
||||
如果存儲在 Gitea 中的軟體包与索引註冊表中的信息不同步,设置页面允许重建这个索引註冊表。
|
||||
这个操作将遍历註冊表中的所有軟體包,並将它们的信息写入索引中。
|
||||
如果有很多軟體包,这个過程可能需要一些时间。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册这个软件包注册表,必须更新 Cargo 的配置。
|
||||
将以下文本添加到位于当前用户主目录中的配置文件中(例如 `~/.cargo/config.toml`):
|
||||
要注册这个軟體包註冊表,必須更新 Cargo 的配置。
|
||||
将以下文本添加到位于当前使用者主目錄中的配置文件中(例如 `~/.cargo/config.toml`):
|
||||
|
||||
```
|
||||
[registry]
|
||||
@@ -48,43 +48,43 @@ index = "sparse+https://gitea.example.com/api/packages/{owner}/cargo/" # Sparse
|
||||
git-fetch-with-cli = true
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | ---------------- |
|
||||
| `owner` | 软件包的所有者。 |
|
||||
| `owner` | 軟體包的所有者。 |
|
||||
|
||||
如果这个注册表是私有的或者您想要发布新的软件包,您必须配置您的凭据。
|
||||
将凭据部分添加到位于当前用户主目录中的凭据文件中(例如 `~/.cargo/credentials.toml`):
|
||||
如果这个註冊表是私有的或者您想要發佈新的軟體包,您必須配置您的凭据。
|
||||
将凭据部分添加到位于当前使用者主目錄中的凭据文件中(例如 `~/.cargo/credentials.toml`):
|
||||
|
||||
```
|
||||
[registries.gitea]
|
||||
token = "Bearer {token}"
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | ------------------------------------------------------------------------------------- |
|
||||
| `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) |
|
||||
| `token` | 您的[个人访问令牌](development/api-usage.md#通過-api-認證) |
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
在项目中运行以下命令来发布软件包:
|
||||
在项目中运行以下命令来發佈軟體包:
|
||||
|
||||
```shell
|
||||
cargo publish
|
||||
```
|
||||
|
||||
如果已经存在同名和版本的软件包,您将无法发布新的软件包。您必须先删除现有的软件包。
|
||||
如果已经存在同名和版本的軟體包,您将無法發佈新的軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装软件包,请执行以下命令:
|
||||
要从軟體包註冊表安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
cargo add {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ------------ |
|
||||
| `package_name` | 软件包名称。 |
|
||||
| `package_name` | 軟體包名稱。 |
|
||||
|
||||
## 支持的命令
|
||||
|
||||
|
||||
@@ -4,81 +4,81 @@ slug: "chef"
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Chef 软件包注册表
|
||||
# Chef 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Chef](https://chef.io/) cookbooks。
|
||||
為您的使用者或組織發佈 [Chef](https://chef.io/) cookbooks。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Chef 软件包注册表,您需要使用 [`knife`](https://docs.chef.io/workstation/knife/).
|
||||
要使用 Chef 軟體包註冊表,您需要使用 [`knife`](https://docs.chef.io/workstation/knife/).
|
||||
|
||||
## 认证
|
||||
## 認證
|
||||
|
||||
Chef 软件包注册表不使用用户名和密码进行身份验证,而是使用私钥和公钥对请求进行签名。
|
||||
请访问软件包所有者设置页面以创建必要的密钥对。
|
||||
只有公钥存储在Gitea中。如果您丢失了私钥的访问权限,您必须重新生成密钥对。
|
||||
[配置 `knife`](https://docs.chef.io/workstation/knife_setup/),使用下载的私钥,并将 Gitea 用户名设置为 `client_name`。
|
||||
Chef 軟體包註冊表不使用使用者名和密碼進行身份驗證,而是使用私钥和公钥对請求進行签名。
|
||||
請访问軟體包所有者设置页面以建立必要的密钥对。
|
||||
只有公钥存儲在Gitea中。如果您丢失了私钥的访问权限,您必須重新生成密钥对。
|
||||
[配置 `knife`](https://docs.chef.io/workstation/knife_setup/),使用下载的私钥,並将 Gitea 使用者名设置為 `client_name`。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要将 [`knife` 配置](https://docs.chef.io/workstation/knife_setup/)为使用 Gitea 软件包注册表,请将 URL 添加到 `~/.chef/config.rb` 文件中。
|
||||
要将 [`knife` 配置](https://docs.chef.io/workstation/knife_setup/)為使用 Gitea 軟體包註冊表,請将 URL 添加到 `~/.chef/config.rb` 文件中。
|
||||
|
||||
```
|
||||
knife[:supermarket_site] = 'https://gitea.example.com/api/packages/{owner}/chef'
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
若要发布 Chef 软件包,请执行以下命令:
|
||||
若要發佈 Chef 軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
knife supermarket share {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
|
||||
如果已经存在同名和版本的软件包,则无法发布新的软件包。您必须先删除现有的软件包。
|
||||
如果已经存在同名和版本的軟體包,则無法發佈新的軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装软件包,请执行以下命令:
|
||||
要从軟體包註冊表中安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
knife supermarket install {package_name}
|
||||
```
|
||||
|
||||
您可以指定软件包的版本,这是可选的:
|
||||
您可以指定軟體包的版本,这是可選的:
|
||||
|
||||
```shell
|
||||
knife supermarket install {package_name} {package_version}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
如果您想要从注册表中删除软件包,请执行以下命令:
|
||||
如果您想要从註冊表中删除軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
knife supermarket unshare {package_name}
|
||||
```
|
||||
|
||||
可选地,您可以指定软件包的版本:
|
||||
可選地,您可以指定軟體包的版本:
|
||||
|
||||
```shell
|
||||
knife supermarket unshare {package_name}/versions/{package_version}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
|
||||
@@ -4,35 +4,35 @@ slug: "composer"
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
# Composer 软件包注册表
|
||||
# Composer 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Composer](https://getcomposer.org/) 软件包。
|
||||
為您的使用者或組織發佈 [Composer](https://getcomposer.org/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Composer 软件包注册表,您可以使用 [Composer](https://getcomposer.org/download/) 消费,并使用类似 `curl` 的 HTTP 上传客户端发布软件包。
|
||||
要使用 Composer 軟體包註冊表,您可以使用 [Composer](https://getcomposer.org/download/) 消费,並使用类似 `curl` 的 HTTP 上传客户端發佈軟體包。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布 Composer 软件包,请执行 HTTP `PUT` 操作,将软件包内容放入请求体中。
|
||||
软件包内容必须是包含 `composer.json` 文件的压缩 PHP 项目。
|
||||
如果已经存在同名和版本的软件包,则无法发布新的软件包。您必须先删除现有的软件包。
|
||||
要發佈 Composer 軟體包,請執行 HTTP `PUT` 操作,将軟體包内容放入請求體中。
|
||||
軟體包内容必須是包含 `composer.json` 文件的压缩 PHP 项目。
|
||||
如果已经存在同名和版本的軟體包,则無法發佈新的軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/composer
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
如果 `composer.json` 文件不包含 `version` 属性,您必须将其作为查询参数提供:
|
||||
如果 `composer.json` 文件不包含 `version` 属性,您必須将其作為查询參數提供:
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/composer?version={x.y.z}
|
||||
```
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -40,7 +40,7 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/composer
|
||||
```
|
||||
|
||||
或者将软件包版本指定为查询参数:
|
||||
或者将軟體包版本指定為查询參數:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -48,18 +48,18 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/composer?version=1.0.3
|
||||
```
|
||||
|
||||
如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。
|
||||
如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼。
|
||||
|
||||
服务器将以以下 HTTP 状态码响应。
|
||||
服务器将以以下 HTTP 状态码響應。
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ----------------- | ----------------------------------------------------------- |
|
||||
| `201 Created` | 软件包已发布 |
|
||||
| `400 Bad Request` | 软件包名称和/或版本无效,或具有相同名称和版本的软件包已存在 |
|
||||
| `201 Created` | 軟體包已發佈 |
|
||||
| `400 Bad Request` | 軟體包名稱和/或版本無效,或具有相同名稱和版本的軟體包已存在 |
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,您需要将其添加到 Composer 的 `config.json` 文件中(通常可以在 `<user-home-dir>/.composer/config.json` 中找到):
|
||||
要注册軟體包註冊表,您需要将其添加到 Composer 的 `config.json` 文件中(通常可以在 `<user-home-dir>/.composer/config.json` 中找到):
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -71,7 +71,7 @@ curl --user your_username:your_password_or_token \
|
||||
}
|
||||
```
|
||||
|
||||
要使用凭据访问软件包注册表,您必须在 `auth.json` 文件中指定它们,如下所示:
|
||||
要使用凭据访问軟體包註冊表,您必須在 `auth.json` 文件中指定它们,如下所示:
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -84,27 +84,27 @@ curl --user your_username:your_password_or_token \
|
||||
}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ---------- | --------------------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `username` | 您的 Gitea 用户名 |
|
||||
| `password` | 您的Gitea密码或个人访问令牌 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `username` | 您的 Gitea 使用者名 |
|
||||
| `password` | 您的Gitea密碼或个人访问令牌 |
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装软件包,请执行以下命令:
|
||||
要从軟體包註冊表中安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
composer require {package_name}
|
||||
```
|
||||
|
||||
您可以指定软件包的版本,这是可选的:
|
||||
您可以指定軟體包的版本,这是可選的:
|
||||
|
||||
```shell
|
||||
composer require {package_name}:{package_version}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
|
||||
@@ -4,29 +4,29 @@ slug: "conan"
|
||||
sidebar_position: 20
|
||||
---
|
||||
|
||||
# Conan 软件包注册表
|
||||
# Conan 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Conan](https://conan.io/) 软件包。
|
||||
為您的使用者或組織發佈 [Conan](https://conan.io/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 [conan](https://conan.io/downloads.html) 软件包注册表,您需要使用 conan 命令行工具来消费和发布软件包。
|
||||
要使用 [conan](https://conan.io/downloads.html) 軟體包註冊表,您需要使用 conan 命令行工具来消费和發佈軟體包。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,您需要配置一个新的 Conan remote:
|
||||
要注册軟體包註冊表,您需要配置一个新的 Conan remote:
|
||||
|
||||
```shell
|
||||
conan remote add {remote} https://gitea.example.com/api/packages/{owner}/conan
|
||||
conan user --remote {remote} --password {password} {username}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `remote` | 远程名称。 |
|
||||
| `username` | 您的 Gitea 用户名。 |
|
||||
| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。 |
|
||||
| `owner` | 软件包的所有者。 |
|
||||
| `remote` | 远程名稱。 |
|
||||
| `username` | 您的 Gitea 使用者名。 |
|
||||
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼。 |
|
||||
| `owner` | 軟體包的所有者。 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -35,17 +35,17 @@ conan remote add gitea https://gitea.example.com/api/packages/testuser/conan
|
||||
conan user --remote gitea --password password123 testuser
|
||||
```
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
通过运行以下命令发布 Conan 软件包:
|
||||
通過运行以下命令發佈 Conan 軟體包:
|
||||
|
||||
```shell
|
||||
conan upload --remote={remote} {recipe}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------- | --------------- |
|
||||
| `remote` | 远程名称 |
|
||||
| `remote` | 远程名稱 |
|
||||
| `recipe` | 要上传的 recipe |
|
||||
|
||||
For example:
|
||||
@@ -54,19 +54,19 @@ For example:
|
||||
conan upload --remote=gitea ConanPackage/1.2@gitea/final
|
||||
```
|
||||
|
||||
Gitea Conan 软件包注册表支持完整的[版本修订](https://docs.conan.io/en/latest/versioning/revisions.html)。
|
||||
Gitea Conan 軟體包註冊表支持完整的[版本修订](https://docs.conan.io/en/latest/versioning/revisions.html)。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装Conan软件包,请执行以下命令:
|
||||
要从軟體包註冊表中安裝Conan軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
conan install --remote={remote} {recipe}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------- | --------------- |
|
||||
| `remote` | 远程名称 |
|
||||
| `remote` | 远程名稱 |
|
||||
| `recipe` | 要下载的 recipe |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -4,17 +4,17 @@ slug: "conda"
|
||||
sidebar_position: 25
|
||||
---
|
||||
|
||||
# Conda 软件包注册表
|
||||
# Conda 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Conda](https://docs.conda.io/en/latest/) 软件包。
|
||||
為您的使用者或組織發佈 [Conda](https://docs.conda.io/en/latest/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Conda 软件包注册表,您需要使用 [conda](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html) 命令行工具。
|
||||
要使用 Conda 軟體包註冊表,您需要使用 [conda](https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html) 命令行工具。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表并提供凭据,请编辑您的 `.condarc` 文件:
|
||||
要註冊軟體包註冊表並提供憑證,請编辑您的 `.condarc` 文件:
|
||||
|
||||
```yaml
|
||||
channel_alias: https://gitea.example.com/api/packages/{owner}/conda
|
||||
@@ -26,15 +26,15 @@ default_channels:
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
有关各个设置的解释,请参阅[官方文档](https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html)。
|
||||
有關各個設定的解釋,請参阅[官方文檔](https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html)。
|
||||
|
||||
如果需要提供凭据,可以将它们作为通道 URL 的一部分嵌入(`https://user:[email protected]/...`)。
|
||||
如果需要提供憑證,可以将它们作為通道 URL 的一部分嵌入(`https://user:[email protected]/...`)。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布一个软件包,请执行一个HTTP `PUT`操作,请求正文中包含软件包内容。
|
||||
要發佈一个軟體包,請執行一个HTTP `PUT`操作,請求正文中包含軟體包内容。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/conda/{channel}/{filename}
|
||||
@@ -42,11 +42,11 @@ PUT https://gitea.example.com/api/packages/{owner}/conda/{channel}/{filename}
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ---------- | --------------------------------------------------------------------------------------------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `channel` | 软件包的[通道](https://conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)(可选) |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `channel` | 軟體包的[通道](https://conda.io/projects/conda/en/latest/user-guide/concepts/channels.html)(可選) |
|
||||
| `filename` | 文件名 |
|
||||
|
||||
使用HTTP基本身份验证的示例请求:
|
||||
使用HTTP基本身份驗證的範例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -54,11 +54,11 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/conda/package-1.0.conda
|
||||
```
|
||||
|
||||
如果已经存在同名和版本的软件包,则无法发布软件包。您必须先删除现有的软件包。
|
||||
如果已经存在同名和版本的軟體包,則無法發佈軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装软件包,请执行以下命令之一:
|
||||
要从軟體包註冊表中安裝軟體包,請執行以下命令之一:
|
||||
|
||||
```shell
|
||||
conda install {package_name}
|
||||
@@ -66,8 +66,8 @@ conda install {package_name}={package_version}
|
||||
conda install -c {channel} {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------------- |
|
||||
| `package_name` | 软件包的名称 |
|
||||
| `package_version` | 软件包的版本 |
|
||||
| `channel` | 软件包的通道(可选) |
|
||||
| `package_name` | 軟體包的名稱 |
|
||||
| `package_version` | 軟體包的版本 |
|
||||
| `channel` | 軟體包的通道(可選) |
|
||||
|
||||
+19
-19
@@ -4,33 +4,33 @@ slug: "container"
|
||||
sidebar_position: 30
|
||||
---
|
||||
|
||||
# 容器注册表
|
||||
# 容器註冊表
|
||||
|
||||
为您的用户或组织发布符合 [Open Container Initiative(OCI)](https://opencontainers.org/) 规范的镜像。
|
||||
该容器注册表遵循 OCI 规范,并支持所有兼容的镜像类型,如 [Docker](https://www.docker.com/) 和 [Helm Charts](https://helm.sh/)。
|
||||
為您的使用者或組織發佈符合 [Open Container Initiative(OCI)](https://opencontainers.org/) 規範的镜像。
|
||||
該容器註冊表遵循 OCI 規範,並支持所有兼容的镜像類型,如 [Docker](https://www.docker.com/) 和 [Helm Charts](https://helm.sh/)。
|
||||
|
||||
## 目录
|
||||
## 目錄
|
||||
|
||||
要使用容器注册表,您可以使用适用于特定镜像类型的工具。
|
||||
要使用容器註冊表,您可以使用适用于特定镜像類型的工具。
|
||||
以下示例使用 `docker` 客户端。
|
||||
|
||||
## 登录容器注册表
|
||||
## 登入容器註冊表
|
||||
|
||||
要推送镜像或者如果镜像位于私有注册表中,您需要进行身份验证:
|
||||
要推送镜像或者如果镜像位於註冊表中,您需要進行身份驗證:
|
||||
|
||||
```shell
|
||||
docker login gitea.example.com
|
||||
```
|
||||
|
||||
如果您使用的是 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码进行身份验证。
|
||||
如果您使用的是 2FA 或 OAuth,請使用[個人訪問令牌](development/api-usage.md#通過-api-認證)替代密碼進行身份驗證。
|
||||
|
||||
## 镜像命名约定
|
||||
## 鏡像命名約定
|
||||
|
||||
镜像必须遵循以下命名约定:
|
||||
镜像必須遵循以下命名约定:
|
||||
|
||||
`{registry}/{owner}/{image}`
|
||||
|
||||
例如,以下是所有者为 `testuser` 的有效镜像名称示例:
|
||||
例如,以下是所有者為 `testuser` 的有效鏡像的名稱示例:
|
||||
|
||||
`gitea.example.com/testuser/myimage`
|
||||
|
||||
@@ -38,21 +38,21 @@ docker login gitea.example.com
|
||||
|
||||
`gitea.example.com/testuser/my/image`
|
||||
|
||||
**注意:** 该注册表仅支持大小写不敏感的标签名称。因此,`image:tag` 和 `image:Tag` 将被视为相同的镜像和标签。
|
||||
**注意:** 該登錄檔僅支援大小寫不敏感的標籤名稱。因此,`image:tag` 和 `image:Tag` 將被視為相同的鏡像和標籤。
|
||||
|
||||
## 推送镜像
|
||||
|
||||
通过执行以下命令来推送镜像:
|
||||
通過執行以下命令来推送镜像:
|
||||
|
||||
```shell
|
||||
docker push gitea.example.com/{owner}/{image}:{tag}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | ------------ |
|
||||
| `owner` | 镜像的所有者 |
|
||||
| `image` | 镜像的名称 |
|
||||
| `tag` | 镜像的标签 |
|
||||
| `image` | 镜像的名稱 |
|
||||
| `tag` | 镜像的標籤 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -62,7 +62,7 @@ docker push gitea.example.com/testuser/myimage:latest
|
||||
|
||||
## 拉取镜像
|
||||
|
||||
通过执行以下命令来拉取镜像:
|
||||
通過執行以下命令来拉取镜像:
|
||||
|
||||
```shell
|
||||
docker pull gitea.example.com/{owner}/{image}:{tag}
|
||||
@@ -71,8 +71,8 @@ docker pull gitea.example.com/{owner}/{image}:{tag}
|
||||
| Parameter | Description |
|
||||
| --------- | ------------ |
|
||||
| `owner` | 镜像的所有者 |
|
||||
| `image` | 镜像的名称 |
|
||||
| `tag` | 镜像的标签 |
|
||||
| `image` | 镜像的名稱 |
|
||||
| `tag` | 镜像的標籤 |
|
||||
|
||||
例如:
|
||||
|
||||
|
||||
@@ -4,53 +4,53 @@ slug: "cran"
|
||||
sidebar_position: 35
|
||||
---
|
||||
|
||||
# CRAN 软件包注册表
|
||||
# CRAN 軟體包註冊表
|
||||
|
||||
将 [R](https://www.r-project.org/) 软件包发布到您的用户或组织的类似 [CRAN](https://cran.r-project.org/) 的注册表。
|
||||
将 [R](https://www.r-project.org/) 軟體包發佈到您的使用者或組織的类似 [CRAN](https://cran.r-project.org/) 的註冊表。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用CRAN软件包注册表,您需要安装 [R](https://cran.r-project.org/)。
|
||||
要使用CRAN軟體包註冊表,您需要安裝 [R](https://cran.r-project.org/)。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,您需要将其添加到 `Rprofile.site` 文件中,可以是系统级别、用户级别 `~/.Rprofile` 或项目级别:
|
||||
要注册軟體包註冊表,您需要将其添加到 `Rprofile.site` 文件中,可以是系统级别、使用者级别 `~/.Rprofile` 或项目级别:
|
||||
|
||||
```
|
||||
options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/packages/{owner}/cran")))
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
如果需要提供凭据,可以将它们嵌入到URL(`https://user:[email protected]/...`)中。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布 R 软件包,请执行带有软件包内容的 HTTP `PUT` 操作。
|
||||
要發佈 R 軟體包,請執行带有軟體包内容的 HTTP `PUT` 操作。
|
||||
|
||||
源代码软件包:
|
||||
源代码軟體包:
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/cran/src
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
二进制软件包:
|
||||
二進制軟體包:
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/cran/bin?platform={platform}&rversion={rversion}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ---------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `platform` | 平台的名称 |
|
||||
| `rversion` | 二进制的R版本 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `platform` | 平台的名稱 |
|
||||
| `rversion` | 二進制的R版本 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -60,17 +60,17 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/cran/bin?platform=windows&rversion=4.2
|
||||
```
|
||||
|
||||
如果同名和版本的软件包已存在,则无法发布软件包。您必须首先删除现有的软件包。
|
||||
如果同名和版本的軟體包已存在,则無法發佈軟體包。您必須首先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装R软件包,请执行以下命令:
|
||||
要从軟體包註冊表中安裝R軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
install.packages("{package_name}")
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ----------------- |
|
||||
| `package_name` | The package name. |
|
||||
|
||||
|
||||
@@ -3,19 +3,19 @@ date: "2023-01-07T00:00:00+00:00"
|
||||
slug: "debian"
|
||||
---
|
||||
|
||||
# Debian 软件包注册表
|
||||
# Debian 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Debian](https://www.debian.org/distrib/packages) 软件包。
|
||||
為您的使用者或組織發佈 [Debian](https://www.debian.org/distrib/packages) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Debian 注册表,您需要使用类似于 `curl` 的 HTTP 客户端进行上传,并使用类似于 `apt` 的软件包管理器消费软件包。
|
||||
要使用 Debian 註冊表,您需要使用类似于 `curl` 的 HTTP 客户端進行上传,並使用类似于 `apt` 的軟體包管理器消费軟體包。
|
||||
|
||||
以下示例使用 `apt`。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册 Debian 注册表,请将 URL 添加到已知 `apt` 源列表中:
|
||||
要注册 Debian 註冊表,請将 URL 添加到已知 `apt` 源列表中:
|
||||
|
||||
```shell
|
||||
echo "deb [signed-by=/etc/apt/keyrings/gitea-{owner}.asc] https://gitea.example.com/api/packages/{owner}/debian {distribution} {component}" | sudo tee -a /etc/apt/sources.list.d/gitea.list
|
||||
@@ -23,43 +23,43 @@ echo "deb [signed-by=/etc/apt/keyrings/gitea-{owner}.asc] https://gitea.example.
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `distribution` | 要使用的发行版 |
|
||||
| `component` | 要使用的组件 |
|
||||
|
||||
如果注册表是私有的,请在 URL 中提供凭据。您可以使用密码或[个人访问令牌](development/api-usage.md#通过-api-认证):
|
||||
如果註冊表是私有的,請在 URL 中提供凭据。您可以使用密碼或[个人访问令牌](development/api-usage.md#通過-api-認證):
|
||||
|
||||
```shell
|
||||
echo "deb [signed-by=/etc/apt/keyrings/gitea-{owner}.asc] https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/debian {distribution} {component}" | sudo tee -a /etc/apt/sources.list.d/gitea.list
|
||||
```
|
||||
|
||||
Debian 注册表文件使用 PGP 密钥进行签名,`apt` 必须知道该密钥:
|
||||
Debian 註冊表文件使用 PGP 密钥進行签名,`apt` 必須知道該密钥:
|
||||
|
||||
```shell
|
||||
sudo curl https://gitea.example.com/api/packages/{owner}/debian/repository.key -o /etc/apt/keyrings/gitea-{owner}.asc
|
||||
```
|
||||
|
||||
然后更新本地软件包索引:
|
||||
然后更新本地軟體包索引:
|
||||
|
||||
```shell
|
||||
apt update
|
||||
```
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布一个 Debian 软件包(`*.deb`),执行 HTTP `PUT` 操作,并将软件包内容放入请求主体中。
|
||||
要發佈一个 Debian 軟體包(`*.deb`),執行 HTTP `PUT` 操作,並将軟體包内容放入請求主體中。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/debian/pool/{distribution}/{component}/upload
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ----------------------------------------------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `distribution` | 发行版,可能与操作系统的发行版名称匹配,例如 `bionic` |
|
||||
| `component` | 组件,可用于分组软件包,或仅为 `main` 或类似的组件。 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `distribution` | 发行版,可能与操作系统的发行版名稱匹配,例如 `bionic` |
|
||||
| `component` | 组件,可用于分组軟體包,或僅為 `main` 或类似的组件。 |
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -67,51 +67,51 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/debian/pool/bionic/main/upload
|
||||
```
|
||||
|
||||
如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。
|
||||
您无法向软件包中多次发布具有相同名称的文件。您必须首先删除现有的软件包版本。
|
||||
如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼。
|
||||
您無法向軟體包中多次發佈具有相同名稱的文件。您必須首先删除現有的軟體包版本。
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应。
|
||||
服务器将使用以下 HTTP 状态代码進行響應。
|
||||
|
||||
| HTTP 状态码 | 意义 |
|
||||
| ----------------- | ---------------------------------------- |
|
||||
| `201 Created` | 软件包已发布 |
|
||||
| `400 Bad Request` | 软件包名称、版本、发行版、组件或架构无效 |
|
||||
| `409 Conflict` | 具有相同参数组合的软件包文件已经存在 |
|
||||
| `201 Created` | 軟體包已發佈 |
|
||||
| `400 Bad Request` | 軟體包名稱、版本、发行版、组件或架构無效 |
|
||||
| `409 Conflict` | 具有相同參數组合的軟體包文件已经存在 |
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
要删除 Debian 软件包,请执行 HTTP `DELETE` 操作。如果没有文件留下,这将同时删除软件包版本。
|
||||
要删除 Debian 軟體包,請執行 HTTP `DELETE` 操作。如果没有文件留下,这将同时删除軟體包版本。
|
||||
|
||||
```
|
||||
DELETE https://gitea.example.com/api/packages/{owner}/debian/pool/{distribution}/{component}/{package_name}/{package_version}/{architecture}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `distribution` | 软件包发行版 |
|
||||
| `component` | 软件包组件 |
|
||||
| `architecture` | 软件包架构 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
| `distribution` | 軟體包发行版 |
|
||||
| `component` | 軟體包组件 |
|
||||
| `architecture` | 軟體包架构 |
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password -X DELETE \
|
||||
https://gitea.example.com/api/packages/testuser/debian/pools/bionic/main/test-package/1.0.0/amd64
|
||||
```
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应。
|
||||
服务器将使用以下 HTTP 状态代码進行響應。
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ---------------- | ------------------ |
|
||||
| `204 No Content` | 成功 |
|
||||
| `404 Not Found` | 找不到软件包或文件 |
|
||||
| `404 Not Found` | 找不到軟體包或文件 |
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从 Debian 注册表安装软件包,请执行以下命令:
|
||||
要从 Debian 註冊表安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
# use latest version
|
||||
|
||||
@@ -4,31 +4,31 @@ slug: "generic"
|
||||
sidebar_position: 500
|
||||
---
|
||||
|
||||
# 通用软件包注册表
|
||||
# 通用軟體包註冊表
|
||||
|
||||
发布通用文件,如发布二进制文件或其他输出,供您的用户或组织使用。
|
||||
發佈通用文件,如發佈二進制文件或其他输出,供您的使用者或組織使用。
|
||||
|
||||
## 身份验证软件包注册表
|
||||
## 身份驗證軟體包註冊表
|
||||
|
||||
要身份验证软件包注册表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份验证](development/api-usage.md#通过-api-认证)。
|
||||
要身份驗證軟體包註冊表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份驗證](development/api-usage.md#通過-api-認證)。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布通用软件包,请执行 HTTP `PUT` 操作,并将软件包内容放入请求主体中。
|
||||
您无法向软件包中多次发布具有相同名称的文件。您必须首先删除现有的软件包版本。
|
||||
要發佈通用軟體包,請執行 HTTP `PUT` 操作,並将軟體包内容放入請求主體中。
|
||||
您無法向軟體包中多次發佈具有相同名稱的文件。您必須首先删除現有的軟體包版本。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{package_version}/{file_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `owner` | 软件包的所有者。 |
|
||||
| `package_name` | 软件包名称。它只能包含小写字母 (`a-z`)、大写字母 (`A-Z`)、数字 (`0-9`)、点号 (`.`)、连字符 (`-`)、加号 (`+`) 或下划线 (`_`) |
|
||||
| `package_version` | 软件包版本,一个非空字符串,不包含前导或尾随空格 |
|
||||
| `owner` | 軟體包的所有者。 |
|
||||
| `package_name` | 軟體包名稱。它只能包含小写字母 (`a-z`)、大写字母 (`A-Z`)、数字 (`0-9`)、点号 (`.`)、连字符 (`-`)、加号 (`+`) 或下划线 (`_`) |
|
||||
| `package_version` | 軟體包版本,一个非空字符串,不包含前导或尾随空格 |
|
||||
| `file_name` | 文件名。它只能包含小写字母 (`a-z`)、大写字母 (`A-Z`)、数字 (`0-9`)、点号 (`.`)、连字符 (`-`)、加号 (`+`) 或下划线 (`_`) |
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -36,62 +36,62 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/generic/test_package/1.0.0/file.bin
|
||||
```
|
||||
|
||||
如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。
|
||||
如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼。
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应。
|
||||
服务器将使用以下 HTTP 状态代码進行響應。
|
||||
|
||||
| HTTP 状态码 | 意义 |
|
||||
| ----------------- | ---------------------------------- |
|
||||
| `201 Created` | 软件包已发布 |
|
||||
| `400 Bad Request` | 软件包名称和/或版本和/或文件名无效 |
|
||||
| `409 Conflict` | 具有相同名称的文件已存在于软件包中 |
|
||||
| `201 Created` | 軟體包已發佈 |
|
||||
| `400 Bad Request` | 軟體包名稱和/或版本和/或文件名無效 |
|
||||
| `409 Conflict` | 具有相同名稱的文件已存在于軟體包中 |
|
||||
|
||||
## 下载软件包
|
||||
## 下载軟體包
|
||||
|
||||
要下载通用软件包,请执行 HTTP `GET` 操作。
|
||||
要下载通用軟體包,請執行 HTTP `GET` 操作。
|
||||
|
||||
```
|
||||
GET https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{package_version}/{file_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
| `file_name` | 文件名 |
|
||||
|
||||
文件内容将在响应主体中返回。响应的内容类型为 `application/octet-stream`。
|
||||
文件内容将在響應主體中返回。響應的内容類型為 `application/octet-stream`。
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应。
|
||||
服务器将使用以下 HTTP 状态代码進行響應。
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password \
|
||||
https://gitea.example.com/api/packages/testuser/generic/test_package/1.0.0/file.bin
|
||||
```
|
||||
|
||||
服务器会以以下 HTTP 状态码进行响应:
|
||||
服务器会以以下 HTTP 状态码進行響應:
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| --------------- | -------------------- |
|
||||
| `200 OK` | 成功 |
|
||||
| `404 Not Found` | 找不到软件包或者文件 |
|
||||
| `404 Not Found` | 找不到軟體包或者文件 |
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
要删除通用软件包,请执行 HTTP DELETE 操作。这将同时删除该版本的所有文件。
|
||||
要删除通用軟體包,請執行 HTTP DELETE 操作。这将同时删除該版本的所有文件。
|
||||
|
||||
```
|
||||
DELETE https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{package_version}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应。
|
||||
服务器将使用以下 HTTP 状态代码進行響應。
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password -X DELETE \
|
||||
@@ -103,33 +103,33 @@ The server responds with the following HTTP Status codes.
|
||||
| HTTP 状态码 | 意义 |
|
||||
| ---------------- | ------------ |
|
||||
| `204 No Content` | 成功 |
|
||||
| `404 Not Found` | 找不到软件包 |
|
||||
| `404 Not Found` | 找不到軟體包 |
|
||||
|
||||
## 删除软件包文件
|
||||
## 删除軟體包文件
|
||||
|
||||
要删除通用软件包的文件,请执行 HTTP `DELETE` 操作。如果没有文件留下,这将同时删除软件包版本。
|
||||
要删除通用軟體包的文件,請執行 HTTP `DELETE` 操作。如果没有文件留下,这将同时删除軟體包版本。
|
||||
|
||||
```
|
||||
DELETE https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{package_version}/{filename}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
| `filename` | 文件名 |
|
||||
|
||||
使用 HTTP 基本身份验证的示例请求:
|
||||
使用 HTTP 基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password -X DELETE \
|
||||
https://gitea.example.com/api/packages/testuser/generic/test_package/1.0.0/file.bin
|
||||
```
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应:
|
||||
服务器将使用以下 HTTP 状态代码進行響應:
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ---------------- | ------------------ |
|
||||
| `204 No Content` | 成功 |
|
||||
| `404 Not Found` | 找不到软件包或文件 |
|
||||
| `404 Not Found` | 找不到軟體包或文件 |
|
||||
|
||||
@@ -4,25 +4,25 @@ slug: "go"
|
||||
sidebar_position: 45
|
||||
---
|
||||
|
||||
# Go 软件包注册表
|
||||
# Go 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 Go 软件包。
|
||||
為您的使用者或組織發佈 Go 軟體包。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布 Go 软件包,请执行 HTTP `PUT` 操作,并将软件包内容放入请求主体中。
|
||||
如果已经存在相同名称和版本的软件包,您无法发布软件包。您必须首先删除现有的软件包。
|
||||
该软件包必须遵循[文档中的结构](https://go.dev/ref/mod#zip-files)。
|
||||
要發佈 Go 軟體包,請執行 HTTP `PUT` 操作,並将軟體包内容放入請求主體中。
|
||||
如果已经存在相同名稱和版本的軟體包,您無法發佈軟體包。您必須首先删除現有的軟體包。
|
||||
該軟體包必須遵循[文檔中的结构](https://go.dev/ref/mod#zip-files)。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/go/upload
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
要身份验证到软件包注册表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份验证](development/api-usage.md#通过-api-认证):
|
||||
要身份驗證到軟體包註冊表,您需要提供[自定义 HTTP 头或使用 HTTP 基本身份驗證](development/api-usage.md#通過-api-認證):
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -30,19 +30,19 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/go/upload
|
||||
```
|
||||
|
||||
如果您使用的是 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码进行身份验证。
|
||||
如果您使用的是 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼進行身份驗證。
|
||||
|
||||
服务器将使用以下 HTTP 状态代码进行响应。
|
||||
服务器将使用以下 HTTP 状态代码進行響應。
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ----------------- | -------------------------- |
|
||||
| `201 Created` | 软件包已发布 |
|
||||
| `400 Bad Request` | 软件包无效 |
|
||||
| `409 Conflict` | 具有相同名称的软件包已存在 |
|
||||
| `201 Created` | 軟體包已發佈 |
|
||||
| `400 Bad Request` | 軟體包無效 |
|
||||
| `409 Conflict` | 具有相同名稱的軟體包已存在 |
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要安装Go软件包,请指示Go使用软件包注册表作为代理:
|
||||
要安裝Go軟體包,請指示Go使用軟體包註冊表作為代理:
|
||||
|
||||
```shell
|
||||
# 使用最新版本
|
||||
@@ -53,12 +53,12 @@ GOPROXY=https://gitea.example.com/api/packages/{owner}/go go install {package_na
|
||||
GOPROXY=https://gitea.example.com/api/packages/{owner}/go go install {package_name}@{package_version}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
|
||||
如果软件包的所有者是私有的,则需要[提供凭据](https://go.dev/ref/mod#private-module-proxy-auth)。
|
||||
如果軟體包的所有者是私有的,则需要[提供凭据](https://go.dev/ref/mod#private-module-proxy-auth)。
|
||||
|
||||
有关 `GOPROXY` 环境变量的更多信息以及如何防止数据泄漏的信息,请[参阅文档](https://go.dev/ref/mod#private-modules)。
|
||||
有关 `GOPROXY` 环境变量的更多信息以及如何防止数据泄漏的信息,請[参阅文檔](https://go.dev/ref/mod#private-modules)。
|
||||
|
||||
@@ -4,17 +4,17 @@ slug: "helm"
|
||||
sidebar_position: 50
|
||||
---
|
||||
|
||||
# Helm Chart 注册表
|
||||
# Helm Chart 註冊表
|
||||
|
||||
为您的用户或组织发布 [Helm](https://helm.sh/) charts。
|
||||
為您的使用者或組織發佈 [Helm](https://helm.sh/) charts。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Helm Chart 注册表,可以使用诸如 `curl` 或 [`helm cm-push`](https://github.com/chartmuseum/helm-push/) 插件之类的简单HTTP客户端。
|
||||
要使用 Helm Chart 註冊表,可以使用诸如 `curl` 或 [`helm cm-push`](https://github.com/chartmuseum/helm-push/) 插件之类的简單HTTP客户端。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
通过运行以下命令来发布软件包:
|
||||
通過运行以下命令来發佈軟體包:
|
||||
|
||||
```shell
|
||||
curl --user {username}:{password} -X POST --upload-file ./{chart_file}.tgz https://gitea.example.com/api/packages/{owner}/helm/api/charts
|
||||
@@ -27,17 +27,17 @@ helm repo add --username {username} --password {password} {repo} https://gitea.
|
||||
helm cm-push ./{chart_file}.tgz {repo}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `username` | 您的Gitea用户名 |
|
||||
| `password` | 您的Gitea密码。如果您使用的是2FA或OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码进行身份验证。 |
|
||||
| `repo` | 仓库名称 |
|
||||
| `chart_file` | Helm Chart 归档文件 |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `username` | 您的Gitea使用者名 |
|
||||
| `password` | 您的Gitea密碼。如果您使用的是2FA或OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼進行身份驗證。 |
|
||||
| `repo` | 存放庫名稱 |
|
||||
| `chart_file` | Helm Chart 归檔文件 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从注册表中安装Helm Chart,请执行以下命令:
|
||||
要从註冊表中安裝Helm Chart,請執行以下命令:
|
||||
|
||||
```shell
|
||||
helm repo add --username {username} --password {password} {repo} https://gitea.example.com/api/packages/{owner}/helm
|
||||
@@ -45,11 +45,11 @@ helm repo update
|
||||
helm install {name} {repo}/{chart}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ---------- | --------------------------- |
|
||||
| `username` | 您的Gitea用户名 |
|
||||
| `password` | 您的Gitea密码或个人访问令牌 |
|
||||
| `repo` | 存储库的名称 |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `name` | 本地名称 |
|
||||
| `chart` | Helm Chart的名称 |
|
||||
| `username` | 您的Gitea使用者名 |
|
||||
| `password` | 您的Gitea密碼或个人访问令牌 |
|
||||
| `repo` | 存儲库的名稱 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `name` | 本地名稱 |
|
||||
| `chart` | Helm Chart的名稱 |
|
||||
|
||||
@@ -4,18 +4,18 @@ slug: "maven"
|
||||
sidebar_position: 60
|
||||
---
|
||||
|
||||
# Maven 软件包注册表
|
||||
# Maven 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Maven](https://maven.apache.org) 软件包。
|
||||
為您的使用者或組織發佈 [Maven](https://maven.apache.org) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Maven 软件包注册表,您可以使用 [Maven](https://maven.apache.org/install.html) 或 [Gradle](https://gradle.org/install/)。
|
||||
要使用 Maven 軟體包註冊表,您可以使用 [Maven](https://maven.apache.org/install.html) 或 [Gradle](https://gradle.org/install/)。
|
||||
以下示例使用 `Maven` 和 `Gradle Groovy`。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,首先需要将访问令牌添加到 [`settings.xml`](https://maven.apache.org/settings.html) 文件中:
|
||||
要注册軟體包註冊表,首先需要将访问令牌添加到 [`settings.xml`](https://maven.apache.org/settings.html) 文件中:
|
||||
|
||||
```xml
|
||||
<settings>
|
||||
@@ -56,14 +56,14 @@ sidebar_position: 60
|
||||
</distributionManagement>
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ------------------------------------------------------------------------------------- |
|
||||
| `access_token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `access_token` | 您的[个人访问令牌](development/api-usage.md#通過-api-認證) |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
### Gradle variant
|
||||
|
||||
如果您计划在项目中添加来自 Gitea 实例的一些软件包,请将其添加到 repositories 部分中:
|
||||
如果您计划在项目中添加来自 Gitea 实例的一些軟體包,請将其添加到 repositories 部分中:
|
||||
|
||||
```groovy
|
||||
repositories {
|
||||
@@ -72,11 +72,11 @@ repositories {
|
||||
}
|
||||
```
|
||||
|
||||
在 Groovy gradle 中,您可以在发布部分中包含以下脚本:
|
||||
在 Groovy gradle 中,您可以在發佈部分中包含以下脚本:
|
||||
|
||||
```groovy
|
||||
publishing {
|
||||
// 其他发布设置
|
||||
// 其他發佈设置
|
||||
repositories {
|
||||
maven {
|
||||
name = "Gitea"
|
||||
@@ -95,35 +95,35 @@ publishing {
|
||||
}
|
||||
```
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布软件包,只需运行以下命令:
|
||||
要發佈軟體包,只需运行以下命令:
|
||||
|
||||
```shell
|
||||
mvn deploy
|
||||
```
|
||||
|
||||
或者,如果您使用的是 Gradle,请使用 `gradle` 命令和 `publishAllPublicationsToGiteaRepository` 任务:
|
||||
或者,如果您使用的是 Gradle,請使用 `gradle` 命令和 `publishAllPublicationsToGiteaRepository` 任务:
|
||||
|
||||
```groovy
|
||||
./gradlew publishAllPublicationsToGiteaRepository
|
||||
```
|
||||
|
||||
如果您想要将预构建的软件包发布到注册表中,可以使用 [`mvn deploy:deploy-file`](https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html) 命令:
|
||||
如果您想要将预构建的軟體包發佈到註冊表中,可以使用 [`mvn deploy:deploy-file`](https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html) 命令:
|
||||
|
||||
```shell
|
||||
mvn deploy:deploy-file -Durl=https://gitea.example.com/api/packages/{owner}/maven -DrepositoryId=gitea -Dfile=/path/to/package.jar
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
如果存在相同名称和版本的软件包,您无法发布该软件包。您必须先删除现有的软件包。
|
||||
如果存在相同名稱和版本的軟體包,您無法發佈該軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装 Maven 软件包,请在项目的 `pom.xml` 文件中添加新的依赖项:
|
||||
要从軟體包註冊表中安裝 Maven 軟體包,請在项目的 `pom.xml` 文件中添加新的依赖项:
|
||||
|
||||
```xml
|
||||
<dependency>
|
||||
|
||||
@@ -6,30 +6,30 @@ sidebar_position: 70
|
||||
|
||||
# NPM Package Registry
|
||||
|
||||
为您的用户或组织发布 [npm](https://www.npmjs.com/) 包。
|
||||
為您的使用者或組織發佈 [npm](https://www.npmjs.com/) 包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 npm 包注册表,您需要安装 [Node.js](https://nodejs.org/en/download/) 以及与之配套的软件包管理器,例如 [Yarn](https://classic.yarnpkg.com/en/docs/install) 或 [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) 本身。
|
||||
要使用 npm 包註冊表,您需要安裝 [Node.js](https://nodejs.org/en/download/) 以及与之配套的軟體包管理器,例如 [Yarn](https://classic.yarnpkg.com/en/docs/install) 或 [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) 本身。
|
||||
|
||||
该注册表支持[作用域](https://docs.npmjs.com/misc/scope/)和非作用域软件包。
|
||||
該註冊表支持[作用域](https://docs.npmjs.com/misc/scope/)和非作用域軟體包。
|
||||
|
||||
以下示例使用具有作用域 `@test` 的 `npm` 工具。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,您需要配置一个新的软件包源。
|
||||
要注册軟體包註冊表,您需要配置一个新的軟體包源。
|
||||
|
||||
```shell
|
||||
npm config set {scope}:registry=https://gitea.example.com/api/packages/{owner}/npm/
|
||||
npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{token}"
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | --------------------------------------------------------------------------------------- |
|
||||
| `scope` | 软件包的作用域 |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证)。 |
|
||||
| `scope` | 軟體包的作用域 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `token` | 您的[个人访问令牌](development/api-usage.md#通過-api-認證)。 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -45,28 +45,28 @@ npm config set registry https://gitea.example.com/api/packages/testuser/npm/
|
||||
npm config set -- '//gitea.example.com/api/packages/testuser/npm/:_authToken' "personal_access_token"
|
||||
```
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
在项目中运行以下命令发布软件包:
|
||||
在项目中运行以下命令發佈軟體包:
|
||||
|
||||
```shell
|
||||
npm publish
|
||||
```
|
||||
|
||||
如果已经存在相同名称和版本的软件包,您无法发布该软件包。您必须先删除现有的软件包。
|
||||
如果已经存在相同名稱和版本的軟體包,您無法發佈該軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
通过运行以下命令删除软件包:
|
||||
通過运行以下命令删除軟體包:
|
||||
|
||||
```shell
|
||||
npm unpublish {package_name}[@{package_version}]
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
|
||||
例如
|
||||
|
||||
@@ -75,17 +75,17 @@ npm unpublish @test/test_package
|
||||
npm unpublish @test/[email protected]
|
||||
```
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表中安装软件包,请执行以下命令:
|
||||
要从軟體包註冊表中安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
npm install {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -93,19 +93,19 @@ npm install {package_name}
|
||||
npm install @test/test_package
|
||||
```
|
||||
|
||||
## 给软件包打标签
|
||||
## 给軟體包打標籤
|
||||
|
||||
该注册表支持[版本标签](https://docs.npmjs.com/adding-dist-tags-to-packages/),可以通过 `npm dist-tag` 管理:
|
||||
該註冊表支持[版本標籤](https://docs.npmjs.com/adding-dist-tags-to-packages/),可以通過 `npm dist-tag` 管理:
|
||||
|
||||
```shell
|
||||
npm dist-tag add {package_name}@{version} {tag}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ---------- |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `version` | 软件包版本 |
|
||||
| `tag` | 软件包标签 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `version` | 軟體包版本 |
|
||||
| `tag` | 軟體包標籤 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -113,11 +113,11 @@ npm dist-tag add {package_name}@{version} {tag}
|
||||
npm dist-tag add [email protected] release
|
||||
```
|
||||
|
||||
标签名称不能是有效的版本。所有可解析为版本的标签名称都将被拒绝。
|
||||
標籤名稱不能是有效的版本。所有可解析為版本的標籤名稱都将被拒绝。
|
||||
|
||||
## 搜索软件包
|
||||
## 搜索軟體包
|
||||
|
||||
该注册表支持[搜索](https://docs.npmjs.com/cli/v7/commands/npm-search/),但不支持像 `author:gitea` 这样的特殊搜索限定符。
|
||||
該註冊表支持[搜索](https://docs.npmjs.com/cli/v7/commands/npm-search/),但不支持像 `author:gitea` 这样的特殊搜索限定符。
|
||||
|
||||
## 支持的命令
|
||||
|
||||
|
||||
@@ -4,29 +4,29 @@ slug: "nuget"
|
||||
sidebar_position: 80
|
||||
---
|
||||
|
||||
# NuGet 软件包注册表
|
||||
# NuGet 軟體包註冊表
|
||||
|
||||
发布适用于您的用户或组织的 [NuGet](https://www.nuget.org/) 软件包。软件包注册表支持 V2 和 V3 API 协议,并且您还可以使用 [NuGet 符号软件包](https://docs.microsoft.com/zh-tw/nuget/create-packages/symbol-packages-snupkg)。
|
||||
發佈适用于您的使用者或組織的 [NuGet](https://www.nuget.org/) 軟體包。軟體包註冊表支持 V2 和 V3 API 协议,並且您還可以使用 [NuGet 符号軟體包](https://docs.microsoft.com/zh-tw/nuget/create-packages/symbol-packages-snupkg)。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 NuGet 软件包注册表,您可以使用命令行界面工具,以及各种集成开发环境(IDE)中的 NuGet 功能,如 Visual Studio。有关 NuGet 客户端的更多信息,请参[阅官方文档](https://docs.microsoft.com/zh-tw/nuget/install-nuget-client-tools)。
|
||||
要使用 NuGet 軟體包註冊表,您可以使用命令行界面工具,以及各种集成开发环境(IDE)中的 NuGet 功能,如 Visual Studio。有关 NuGet 客户端的更多信息,請参[阅官方文檔](https://docs.microsoft.com/zh-tw/nuget/install-nuget-client-tools)。
|
||||
以下示例使用 `dotnet nuget` 工具。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,您需要配置一个新的 NuGet 源:
|
||||
要注册軟體包註冊表,您需要配置一个新的 NuGet 源:
|
||||
|
||||
```shell
|
||||
dotnet nuget add source --name {source_name} --username {username} --password {password} https://gitea.example.com/api/packages/{owner}/nuget/index.json
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| `source_name` | 所需源名称 |
|
||||
| `username` | 您的 Gitea 用户名 |
|
||||
| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)代替密码。 |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `source_name` | 所需源名稱 |
|
||||
| `username` | 您的 Gitea 使用者名 |
|
||||
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)代替密碼。 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -34,20 +34,20 @@ dotnet nuget add source --name {source_name} --username {username} --password {p
|
||||
dotnet nuget add source --name gitea --username testuser --password password123 https://gitea.example.com/api/packages/testuser/nuget/index.json
|
||||
```
|
||||
|
||||
您可以在不提供凭据的情况下添加源,并在发布软件包时使用--api-key 参数。在这种情况下,您需要提供[个人访问令牌](development/api-usage.md#通过-api-认证)。
|
||||
您可以在不提供凭据的情况下添加源,並在發佈軟體包时使用--api-key 參數。在这种情况下,您需要提供[个人访问令牌](development/api-usage.md#通過-api-認證)。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
通过运行以下命令发布软件包:
|
||||
通過运行以下命令發佈軟體包:
|
||||
|
||||
```shell
|
||||
dotnet nuget push --source {source_name} {package_file}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ---------------------------- |
|
||||
| `source_name` | 所需源名称 |
|
||||
| `package_file` | 软件包 `.nupkg` 文件的路径。 |
|
||||
| `source_name` | 所需源名稱 |
|
||||
| `package_file` | 軟體包 `.nupkg` 文件的路径。 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -55,20 +55,20 @@ dotnet nuget push --source {source_name} {package_file}
|
||||
dotnet nuget push --source gitea test_package.1.0.0.nupkg
|
||||
```
|
||||
|
||||
如果已经存在相同名称和版本的软件包,您无法发布该软件包。您必须先删除现有的软件包。
|
||||
如果已经存在相同名稱和版本的軟體包,您無法發佈該軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
### 符号软件包
|
||||
### 符号軟體包
|
||||
|
||||
NuGet 软件包注册表支持构建用于符号服务器的符号软件包。客户端可以请求嵌入在符号软件包(`.snupkg`)中的 PDB 文件。
|
||||
为此,请将 NuGet 软件包注册表注册为符号源:
|
||||
NuGet 軟體包註冊表支持构建用于符号服务器的符号軟體包。客户端可以請求嵌入在符号軟體包(`.snupkg`)中的 PDB 文件。
|
||||
為此,請将 NuGet 軟體包註冊表注册為符号源:
|
||||
|
||||
```
|
||||
https://gitea.example.com/api/packages/{owner}/nuget/symbols
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | -------------------- |
|
||||
| `owner` | 软件包注册表的所有者 |
|
||||
| `owner` | 軟體包註冊表的所有者 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -76,19 +76,19 @@ https://gitea.example.com/api/packages/{owner}/nuget/symbols
|
||||
https://gitea.example.com/api/packages/testuser/nuget/symbols
|
||||
```
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装 NuGet 软件包,请执行以下命令:
|
||||
要从軟體包註冊表安裝 NuGet 軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
dotnet add package --source {source_name} --version {package_version} {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | ------------ |
|
||||
| `source_name` | 所需源名称 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本。 |
|
||||
| `source_name` | 所需源名稱 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本。 |
|
||||
|
||||
例如:
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ slug: "overview"
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 软件包注册表
|
||||
# 軟體包註冊表
|
||||
|
||||
从Gitea **1.17**版本开始,软件包注册表可以用作常见软件包管理器的公共或私有注册表。
|
||||
从Gitea **1.17**版本开始,軟體包註冊表可以用作常见軟體包管理器的公共或私有註冊表。
|
||||
|
||||
## 支持的软件包管理器
|
||||
## 支持的軟體包管理器
|
||||
|
||||
目前支持以下软件包管理器:
|
||||
目前支持以下軟體包管理器:
|
||||
|
||||
| Name | Language | Package client |
|
||||
| ------------------------------------------------------------------- | ---------- | ------------------------- |
|
||||
@@ -36,61 +36,61 @@ sidebar_position: 1
|
||||
| [Swift](usage/packages/rubygems.md) | Swift | `swift` |
|
||||
| [Vagrant](usage/packages/vagrant.md) | - | `vagrant` |
|
||||
|
||||
**以下段落仅适用于未全局禁用软件包的情况!**
|
||||
**以下段落僅适用于未全局禁用軟體包的情况!**
|
||||
|
||||
## 仓库 x 软件包
|
||||
## 存放庫 x 軟體包
|
||||
|
||||
软件包始终属于所有者(用户或组织),而不是仓库。
|
||||
要将(已上传的)软件包链接到仓库,请打开该软件包的设置页面,并选择要将此软件包链接到的仓库。
|
||||
将链接到整个软件包,而不仅是单个版本。
|
||||
軟體包始终属于所有者(使用者或組織),而不是存放庫。
|
||||
要将(已上传的)軟體包链接到存放庫,請打开該軟體包的设置页面,並選择要将此軟體包链接到的存放庫。
|
||||
将链接到整个軟體包,而不僅是單个版本。
|
||||
|
||||
链接软件包将导致在仓库的软件包列表中显示该软件包,并在软件包页面上显示到仓库的链接(以及到仓库工单的链接)。
|
||||
链接軟體包将导致在存放庫的軟體包列表中显示該軟體包,並在軟體包页面上显示到存放庫的链接(以及到存放庫工單的链接)。
|
||||
|
||||
## 访问限制
|
||||
|
||||
| 软件包所有者类型 | 用户 | 组织 |
|
||||
| 軟體包所有者類型 | 使用者 | 組織 |
|
||||
| ---------------- | ---------------------------------------- | ------------------------------------------ |
|
||||
| **读取** 访问 | 公开,如果用户也是公开的;否则仅限此用户 | 公开,如果组织是公开的,否则仅限组织成员 |
|
||||
| **写入** 访问 | 仅软件包所有者 | 具有组织中的管理员或写入访问权限的组织成员 |
|
||||
| **读取** 访问 | 公开,如果使用者也是公开的;否则僅限此使用者 | 公开,如果組織是公开的,否则僅限組織成员 |
|
||||
| **写入** 访问 | 僅軟體包所有者 | 具有組織中的管理员或写入访问权限的組織成员 |
|
||||
|
||||
注意:这些访问限制可能会[变化](https://github.com/go-gitea/gitea/issues/19270),将通过专门的组织团队权限添加更细粒度的控制。
|
||||
注意:这些访问限制可能会[变化](https://github.com/go-gitea/gitea/issues/19270),将通過专门的組織团队权限添加更细粒度的控制。
|
||||
|
||||
## 创建或上传软件包
|
||||
## 建立或上传軟體包
|
||||
|
||||
根据软件包类型,使用相应的软件包管理器。请查看特定软件包管理器的子页面以获取说明。
|
||||
根据軟體包類型,使用相應的軟體包管理器。請查看特定軟體包管理器的子页面以获取说明。
|
||||
|
||||
## 查看软件包
|
||||
## 查看軟體包
|
||||
|
||||
您可以在仓库页面上查看仓库的软件包。
|
||||
您可以在存放庫页面上查看存放庫的軟體包。
|
||||
|
||||
1. 转到仓库主页。
|
||||
2. 在导航栏中选择**软件包**
|
||||
1. 转到存放庫主页。
|
||||
2. 在导航栏中選择**軟體包**
|
||||
|
||||
要查看有关软件包的更多详细信息,请选择软件包的名称。
|
||||
要查看有关軟體包的更多详细信息,請選择軟體包的名稱。
|
||||
|
||||
## 下载软件包
|
||||
## 下载軟體包
|
||||
|
||||
要从仓库下载软件包:
|
||||
要从存放庫下载軟體包:
|
||||
|
||||
1. 在导航栏中选择**软件包**
|
||||
2. 选择软件包的名称以查看详细信息。
|
||||
3. 在 **Assets** 部分,选择要下载的软件包文件的名称。
|
||||
1. 在导航栏中選择**軟體包**
|
||||
2. 選择軟體包的名稱以查看详细信息。
|
||||
3. 在 **Assets** 部分,選择要下载的軟體包文件的名稱。
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
在将软件包发布到软件包注册表后,您无法编辑软件包。相反,您必须删除并重新创建它。
|
||||
在将軟體包發佈到軟體包註冊表后,您無法编辑軟體包。相反,您必須删除並重新建立它。
|
||||
|
||||
要从仓库中删除软件包:
|
||||
要从存放庫中删除軟體包:
|
||||
|
||||
1. 在导航栏中选择**软件包**
|
||||
2. 选择软件包的名称以查看详细信息。
|
||||
3. 单击**删除软件包**以永久删除软件包。
|
||||
1. 在导航栏中選择**軟體包**
|
||||
2. 選择軟體包的名稱以查看详细信息。
|
||||
3. 單擊**删除軟體包**以永久删除軟體包。
|
||||
|
||||
## 禁用软件包注册表
|
||||
## 禁用軟體包註冊表
|
||||
|
||||
包注册表已自动启用。要在单个存储库中禁用它:
|
||||
包註冊表已自动启用。要在單个存儲库中禁用它:
|
||||
|
||||
1. 在导航栏中选择**设置**。
|
||||
2. 禁用**启用仓库软件包注册表**.
|
||||
1. 在导航栏中選择**设置**。
|
||||
2. 禁用**启用存放庫軟體包註冊表**.
|
||||
|
||||
禁用软件包注册表不会删除先前发布的软件包。
|
||||
禁用軟體包註冊表不会删除先前發佈的軟體包。
|
||||
|
||||
@@ -4,19 +4,19 @@ slug: "pub"
|
||||
sidebar_position: 90
|
||||
---
|
||||
|
||||
# Pub 软件包注册表
|
||||
# Pub 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Pub](https://dart.dev/guides/packages) 软件包。
|
||||
為您的使用者或組織發佈 [Pub](https://dart.dev/guides/packages) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用Pub软件包注册表,您需要使用 [dart](https://dart.dev/tools/dart-tool) 和/或 [flutter](https://docs.flutter.dev/reference/flutter-cli). 工具。
|
||||
要使用Pub軟體包註冊表,您需要使用 [dart](https://dart.dev/tools/dart-tool) 和/或 [flutter](https://docs.flutter.dev/reference/flutter-cli). 工具。
|
||||
|
||||
以下示例使用 `dart`。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表并提供凭据,请执行以下操作:
|
||||
要注册軟體包註冊表並提供凭据,請執行以下操作:
|
||||
|
||||
```shell
|
||||
dart pub token add https://gitea.example.com/api/packages/{owner}/pub
|
||||
@@ -24,13 +24,13 @@ dart pub token add https://gitea.example.com/api/packages/{owner}/pub
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
您需要提供您的[个人访问令牌](development/api-usage.md#通过-api-认证)。
|
||||
您需要提供您的[个人访问令牌](development/api-usage.md#通過-api-認證)。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布软件包,请编辑 `pubspec.yaml` 文件,并添加以下行:
|
||||
要發佈軟體包,請编辑 `pubspec.yaml` 文件,並添加以下行:
|
||||
|
||||
```yaml
|
||||
publish_to: https://gitea.example.com/api/packages/{owner}/pub
|
||||
@@ -38,28 +38,28 @@ publish_to: https://gitea.example.com/api/packages/{owner}/pub
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
|
||||
现在,您可以通过运行以下命令来发布软件包:
|
||||
現在,您可以通過运行以下命令来發佈軟體包:
|
||||
|
||||
```shell
|
||||
dart pub publish
|
||||
```
|
||||
|
||||
如果已存在具有相同名称和版本的软件包,则无法发布软件包。您必须先删除现有的软件包。
|
||||
如果已存在具有相同名稱和版本的軟體包,则無法發佈軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装Pub软件包,请执行以下命令:
|
||||
要从軟體包註冊表安裝Pub軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
dart pub add {package_name} --hosted-url=https://gitea.example.com/api/packages/{owner}/pub/
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
|
||||
例如:
|
||||
|
||||
|
||||
@@ -4,17 +4,17 @@ slug: "pypi"
|
||||
sidebar_position: 100
|
||||
---
|
||||
|
||||
# PyPI 软件包注册表
|
||||
# PyPI 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [PyPI](https://pypi.org/) 软件包。
|
||||
為您的使用者或組織發佈 [PyPI](https://pypi.org/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 PyPI 软件包注册表,您需要使用 [pip](https://pypi.org/project/pip/) 工具来消费和使用 [twine](https://pypi.org/project/twine/) 工具来发布软件包。
|
||||
要使用 PyPI 軟體包註冊表,您需要使用 [pip](https://pypi.org/project/pip/) 工具来消费和使用 [twine](https://pypi.org/project/twine/) 工具来發佈軟體包。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,您需要编辑本地的 `~/.pypirc` 文件。添加以下内容:
|
||||
要注册軟體包註冊表,您需要编辑本地的 `~/.pypirc` 文件。添加以下内容:
|
||||
|
||||
```ini
|
||||
[distutils]
|
||||
@@ -28,36 +28,36 @@ password = {password}
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `username` | 您的 Gitea 用户名 |
|
||||
| `password` | 您的 Gitea 密码。如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `username` | 您的 Gitea 使用者名 |
|
||||
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼 |
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
通过运行以下命令来发布软件包:
|
||||
通過运行以下命令来發佈軟體包:
|
||||
|
||||
```shell
|
||||
python3 -m twine upload --repository gitea /path/to/files/*
|
||||
```
|
||||
|
||||
软件包文件的扩展名为 `.tar.gz` 和 `.whl`。
|
||||
軟體包文件的扩展名為 `.tar.gz` 和 `.whl`。
|
||||
|
||||
如果已存在具有相同名称和版本的软件包,则无法发布软件包。您必须先删除现有的软件包。
|
||||
如果已存在具有相同名稱和版本的軟體包,则無法發佈軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装 PyPI 软件包,请执行以下命令:
|
||||
要从軟體包註冊表安裝 PyPI 軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
pip install --index-url https://{username}:{password}@gitea.example.com/api/packages/{owner}/pypi/simple --no-deps {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ----------------------------- |
|
||||
| `username` | 您的 Gitea 用户名 |
|
||||
| `password` | 您的 Gitea 密码或个人访问令牌 |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `username` | 您的 Gitea 使用者名 |
|
||||
| `password` | 您的 Gitea 密碼或个人访问令牌 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -65,7 +65,7 @@ pip install --index-url https://{username}:{password}@gitea.example.com/api/pack
|
||||
pip install --index-url https://testuser:[email protected]/api/packages/testuser/pypi/simple --no-deps test_package
|
||||
```
|
||||
|
||||
您可以使用 `--extra-index-url` 替代 `--index-url`,但这样会使您容易受到依赖混淆攻击,因为 `pip` 会先检查官方 PyPi 仓库中的软件包,然后再检查指定的自定义仓库。请阅读 `pip` 文档以获取更多信息。
|
||||
您可以使用 `--extra-index-url` 替代 `--index-url`,但这样会使您容易受到依赖混淆攻擊,因為 `pip` 会先检查官方 PyPi 存放庫中的軟體包,然后再检查指定的自定义存放庫。請阅读 `pip` 文檔以获取更多信息。
|
||||
|
||||
## 支持的命令
|
||||
|
||||
|
||||
@@ -4,19 +4,19 @@ slug: "packages/rpm"
|
||||
sidebar_position: 105
|
||||
---
|
||||
|
||||
# RPM 软件包注册表
|
||||
# RPM 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [RPM](https://rpm.org/) 软件包。
|
||||
為您的使用者或組織發佈 [RPM](https://rpm.org/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用RPM注册表,您需要使用像 `yum`, `dnf` 或 `zypper` 这样的软件包管理器来消费软件包。
|
||||
要使用RPM註冊表,您需要使用像 `yum`, `dnf` 或 `zypper` 这样的軟體包管理器来消费軟體包。
|
||||
|
||||
以下示例使用 `dnf`。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册RPM注册表,请将 URL 添加到已知 `apt` 源列表中:
|
||||
要注册RPM註冊表,請将 URL 添加到已知 `apt` 源列表中:
|
||||
|
||||
```shell
|
||||
dnf config-manager --add-repo https://gitea.example.com/api/packages/{owner}/rpm/{group}.repo
|
||||
@@ -24,31 +24,31 @@ dnf config-manager --add-repo https://gitea.example.com/api/packages/{owner}/rpm
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ------- |--------------------------------------|
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `group` | 任何名称,例如 `centos/7`、`el-7`、`fc38` |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `group` | 任何名稱,例如 `centos/7`、`el-7`、`fc38` |
|
||||
|
||||
如果注册表是私有的,请在URL中提供凭据。您可以使用密码或[个人访问令牌](development/api-usage.md#通过-api-认证):
|
||||
如果註冊表是私有的,請在URL中提供凭据。您可以使用密碼或[个人访问令牌](development/api-usage.md#通過-api-認證):
|
||||
|
||||
```shell
|
||||
dnf config-manager --add-repo https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/rpm/{group}.repo
|
||||
```
|
||||
|
||||
您还必须将凭据添加到 `/etc/yum.repos.d` 中的 `rpm.repo` 文件中的URL中。
|
||||
您還必須将凭据添加到 `/etc/yum.repos.d` 中的 `rpm.repo` 文件中的URL中。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
要发布RPM软件包(`*.rpm`),请执行带有软件包内容的 HTTP `PUT` 操作。
|
||||
要發佈RPM軟體包(`*.rpm`),請執行带有軟體包内容的 HTTP `PUT` 操作。
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/rpm/{group}/upload
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- |--------------|
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `group` | 软件包自定义分组名称 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `group` | 軟體包自定义分组名稱 |
|
||||
|
||||
使用HTTP基本身份验证的示例请求:
|
||||
使用HTTP基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_password_or_token \
|
||||
@@ -56,49 +56,49 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/rpm/centos/el7/version/upload
|
||||
```
|
||||
|
||||
如果您使用 2FA 或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)替代密码。您无法将具有相同名称的文件两次发布到软件包中。您必须先删除现有的软件包版本。
|
||||
如果您使用 2FA 或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)替代密碼。您無法将具有相同名稱的文件两次發佈到軟體包中。您必須先删除現有的軟體包版本。
|
||||
|
||||
服务器将以以下HTTP状态码响应。
|
||||
服务器将以以下HTTP状态码響應。
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ----------------- | ------------------------------------------------ |
|
||||
| `201 Created` | 软件包已发布 |
|
||||
| `400 Bad Request` | 软件包无效 |
|
||||
| `409 Conflict` | 具有相同参数组合的软件包文件已经存在于该软件包中 |
|
||||
| `201 Created` | 軟體包已發佈 |
|
||||
| `400 Bad Request` | 軟體包無效 |
|
||||
| `409 Conflict` | 具有相同參數组合的軟體包文件已经存在于該軟體包中 |
|
||||
|
||||
## 删除软件包
|
||||
## 删除軟體包
|
||||
|
||||
要删除 RPM 软件包,请执行 HTTP `DELETE` 操作。如果没有文件剩余,这也将删除软件包版本。
|
||||
要删除 RPM 軟體包,請執行 HTTP `DELETE` 操作。如果没有文件剩余,这也将删除軟體包版本。
|
||||
|
||||
```
|
||||
DELETE https://gitea.example.com/api/packages/{owner}/rpm/{group}/package/{package_name}/{package_version}/{architecture}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `group` | 软件包自定义分组 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `package_version` | 软件包版本 |
|
||||
| `architecture` | 软件包架构 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `group` | 軟體包自定义分组 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
| `package_version` | 軟體包版本 |
|
||||
| `architecture` | 軟體包架构 |
|
||||
|
||||
使用HTTP基本身份验证的示例请求:
|
||||
使用HTTP基本身份驗證的示例請求:
|
||||
|
||||
```shell
|
||||
curl --user your_username:your_token_or_password -X DELETE \
|
||||
https://gitea.example.com/api/packages/testuser/rpm/centos/el7/package/test-package/1.0.0/x86_64
|
||||
```
|
||||
|
||||
服务器将以以下HTTP状态码响应:
|
||||
服务器将以以下HTTP状态码響應:
|
||||
|
||||
| HTTP 状态码 | 含义 |
|
||||
| ---------------- | ------------------ |
|
||||
| `204 No Content` | 成功 |
|
||||
| `404 Not Found` | 未找到软件包或文件 |
|
||||
| `404 Not Found` | 未找到軟體包或文件 |
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从RPM注册表安装软件包,请执行以下命令:
|
||||
要从RPM註冊表安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
# use latest version
|
||||
|
||||
@@ -4,27 +4,27 @@ slug: "rubygems"
|
||||
sidebar_position: 110
|
||||
---
|
||||
|
||||
# RubyGems 软件包注册表
|
||||
# RubyGems 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [RubyGems](https://guides.rubygems.org/) 软件包。
|
||||
為您的使用者或組織發佈 [RubyGems](https://guides.rubygems.org/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用RubyGems软件包注册表,您需要使用 [gem](https://guides.rubygems.org/command-reference/) 命令行工具来消费和发布软件包。
|
||||
要使用RubyGems軟體包註冊表,您需要使用 [gem](https://guides.rubygems.org/command-reference/) 命令行工具来消费和發佈軟體包。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表,请编辑 `~/.gem/credentials` 文件并添加:
|
||||
要注册軟體包註冊表,請编辑 `~/.gem/credentials` 文件並添加:
|
||||
|
||||
```ini
|
||||
---
|
||||
https://gitea.example.com/api/packages/{owner}/rubygems: Bearer {token}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ------- | ------------------------------------------------------------------------------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `token` | 您的[个人访问令牌](development/api-usage.md#通過-api-認證) |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -33,18 +33,18 @@ https://gitea.example.com/api/packages/{owner}/rubygems: Bearer {token}
|
||||
https://gitea.example.com/api/packages/testuser/rubygems: Bearer 3bd626f84b01cd26b873931eace1e430a5773cc4
|
||||
```
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
通过运行以下命令来发布软件包:
|
||||
通過运行以下命令来發佈軟體包:
|
||||
|
||||
```shell
|
||||
gem push --host {host} {package_file}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | ------------------------ |
|
||||
| `host` | 软件包注册表的URL |
|
||||
| `package_file` | 软件包 `.gem` 文件的路径 |
|
||||
| `host` | 軟體包註冊表的URL |
|
||||
| `package_file` | 軟體包 `.gem` 文件的路径 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -52,11 +52,11 @@ gem push --host {host} {package_file}
|
||||
gem push --host https://gitea.example.com/api/packages/testuser/rubygems test_package-1.0.0.gem
|
||||
```
|
||||
|
||||
如果已经存在相同名称和版本的软件包,您将无法发布软件包。您必须先删除现有的软件包。
|
||||
如果已经存在相同名稱和版本的軟體包,您将無法發佈軟體包。您必須先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装软件包,您可以使用 [Bundler](https://bundler.io) 或 `gem`。
|
||||
要从軟體包註冊表安裝軟體包,您可以使用 [Bundler](https://bundler.io) 或 `gem`。
|
||||
|
||||
### Bundler
|
||||
|
||||
@@ -68,10 +68,10 @@ source "https://gitea.example.com/api/packages/{owner}/rubygems" do
|
||||
end
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -89,16 +89,16 @@ bundle install
|
||||
|
||||
### gem
|
||||
|
||||
执行以下命令:
|
||||
執行以下命令:
|
||||
|
||||
```shell
|
||||
gem install --host https://gitea.example.com/api/packages/{owner}/rubygems {package_name}
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包名称 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包名稱 |
|
||||
|
||||
例如:
|
||||
|
||||
|
||||
@@ -4,67 +4,67 @@ slug: "storage"
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# 存储
|
||||
# 存儲
|
||||
|
||||
本文档描述了软件包注册表的存储方式以及如何管理存储。
|
||||
本文檔描述了軟體包註冊表的存儲方式以及如何管理存儲。
|
||||
|
||||
## 去重
|
||||
|
||||
软件包注册表具有内置的去重功能,可以对上传的 Blob 进行去重处理。
|
||||
軟體包註冊表具有内置的去重功能,可以对上传的 Blob 進行去重处理。
|
||||
如果上传了两个相同的文件,只会在文件系统上保存一个 Blob。
|
||||
这样可以确保不会浪费空间用于重复的文件。
|
||||
|
||||
如果上传了两个具有相同文件的软件包,这两个软件包将显示相同的大小,但在文件系统上,它们只需要一半的大小。
|
||||
每当删除一个软件包时,只会删除对底层 Blob 的引用。
|
||||
如果上传了两个具有相同文件的軟體包,这两个軟體包将显示相同的大小,但在文件系统上,它们只需要一半的大小。
|
||||
每当删除一个軟體包时,只会删除对底层 Blob 的引用。
|
||||
此时,Blob 不会被删除,因此它们仍然占用文件系统上的空间。
|
||||
当上传新的软件包时,现有的 Blob 可能会再次被引用。
|
||||
当上传新的軟體包时,現有的 Blob 可能会再次被引用。
|
||||
|
||||
这些无引用的 Blob 会在一个清理任务中被删除。
|
||||
配置设置 `OLDER_THAN` 可以配置无引用的 Blob 在被删除之前保留的时间。
|
||||
这些無引用的 Blob 会在一个清理任务中被删除。
|
||||
配置设置 `OLDER_THAN` 可以配置無引用的 Blob 在被删除之前保留的时间。
|
||||
|
||||
## 清理规则
|
||||
## 清理規則
|
||||
|
||||
软件包注册表可能会随着时间的推移而变得很大,如果不进行清理的话。
|
||||
建议删除不必要的软件包并设置清理规则以自动管理软件包注册表的使用情况。
|
||||
每个软件包所有者(用户或组织)都可以管理应用于其软件包的清理规则。
|
||||
軟體包註冊表可能会随着时间的推移而变得很大,如果不進行清理的话。
|
||||
建议删除不必要的軟體包並设置清理規則以自动管理軟體包註冊表的使用情况。
|
||||
每个軟體包所有者(使用者或組織)都可以管理應用于其軟體包的清理規則。
|
||||
|
||||
| 设置 | 描述 |
|
||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 启用 | 打开或关闭清理规则。 |
|
||||
| 类型 | 每个规则管理特定的软件包类型。 |
|
||||
| 将模式应用于完整的软件包名称 | 如果启用,则应用以下模式到完整的软件包名称(`package/version`),否则只使用版本号(`version`)。 |
|
||||
| 保留最近的版本数 | 对于每个软件包要始终保留的版本数量。 |
|
||||
| 保留与以下模式匹配的版本 | 确定要保留哪些版本的正则表达式模式。空模式表示不保留任何版本,而 `.+` 表示保留所有版本。即使未配置,容器注册表也始终保留 `latest` 版本。 |
|
||||
| 删除早于多少天的版本 | 仅删除早于所选天数的版本。 |
|
||||
| 删除与以下模式匹配的版本 | 确定要删除哪些版本的正则表达式模式。空模式或 `.+` 表示如果没有其他设置指定,则删除所有软件包。 |
|
||||
| 启用 | 打开或关闭清理規則。 |
|
||||
| 類型 | 每个規則管理特定的軟體包類型。 |
|
||||
| 将模式應用于完整的軟體包名稱 | 如果启用,则應用以下模式到完整的軟體包名稱(`package/version`),否则只使用版本号(`version`)。 |
|
||||
| 保留最近的版本数 | 對於每个軟體包要始终保留的版本数量。 |
|
||||
| 保留与以下模式匹配的版本 | 确定要保留哪些版本的正则表达式模式。空模式表示不保留任何版本,而 `.+` 表示保留所有版本。即使未配置,容器註冊表也始终保留 `latest` 版本。 |
|
||||
| 删除早于多少天的版本 | 僅删除早于所選天数的版本。 |
|
||||
| 删除与以下模式匹配的版本 | 确定要删除哪些版本的正则表达式模式。空模式或 `.+` 表示如果没有其他设置指定,则删除所有軟體包。 |
|
||||
|
||||
每个清理规则都可以显示受影响的软件包的预览。
|
||||
这可以用来检查清理规则是否正确配置。
|
||||
每个清理規則都可以显示受影響的軟體包的预览。
|
||||
这可以用来检查清理規則是否正确配置。
|
||||
|
||||
### 正则表达式示例
|
||||
|
||||
正则表达式模式会自动使用 `\A` 和 `\z` 锚点进行包围。
|
||||
不要在正则表达式模式中包含任何 `\A`、`\z`、`^` 或 `$` 标记,因为它们不是必要的。
|
||||
模式是不区分大小写的,与 Gitea 中的软件包注册表的行为相匹配。
|
||||
正则表达式模式会自动使用 `\A` 和 `\z` 锚点進行包围。
|
||||
不要在正则表达式模式中包含任何 `\A`、`\z`、`^` 或 `$` 标记,因為它们不是必要的。
|
||||
模式是不区分大小写的,与 Gitea 中的軟體包註冊表的行為相匹配。
|
||||
|
||||
| Pattern | Description |
|
||||
| ---------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| `.*` | 匹配任何可能的版本。 |
|
||||
| `v.+` | 匹配以 `v` 开头的版本。 |
|
||||
| `release` | 仅匹配版本号为 `release`。 |
|
||||
| `release.*` | 匹配以 `release` 命名或以 `release` 开头的版本。 |
|
||||
| `v.+` | 匹配以 `v` 開頭的版本。 |
|
||||
| `release` | 僅匹配版本号為 `release`。 |
|
||||
| `release.*` | 匹配以 `release` 命名或以 `release` 開頭的版本。 |
|
||||
| `.+-temp-.+` | 匹配包含 `-temp-` 的版本。 |
|
||||
| `v.+\|release` | 匹配以 `v` 开头的版本或版本号为 `release`。 |
|
||||
| `package/v.+\|other/release` | 匹配以 `v` 开头的 package 的版本或 `other` 的版本号为 `release`。需要启用*将模式应用于完整的软件包名称*设置。 |
|
||||
| `v.+\|release` | 匹配以 `v` 開頭的版本或版本号為 `release`。 |
|
||||
| `package/v.+\|other/release` | 匹配以 `v` 開頭的 package 的版本或 `other` 的版本号為 `release`。需要启用*将模式應用于完整的軟體包名稱*设置。 |
|
||||
|
||||
### 清理规则的工作原理
|
||||
### 清理規則的工作原理
|
||||
|
||||
清理规则是清理任务的一部分,定期运行。
|
||||
清理規則是清理任务的一部分,定期运行。
|
||||
|
||||
清理规则:
|
||||
清理規則:
|
||||
|
||||
1. 收集所有属于所有者注册表的特定软件包类型的软件包。
|
||||
2. 对于每个软件包,收集所有版本。
|
||||
1. 收集所有属于所有者註冊表的特定軟體包類型的軟體包。
|
||||
2. 對於每个軟體包,收集所有版本。
|
||||
3. 根据 *保留最近的版本数* 的值,从列表中排除版本。
|
||||
4. 根据 *保留与以下模式匹配的版本* 的值,从列表中排除任何版本。
|
||||
5. 根据 *删除早于多少天的版本* 的值,从列表中排除比这个值更近的版本。
|
||||
|
||||
@@ -4,17 +4,17 @@ slug: "swift"
|
||||
sidebar_position: 115
|
||||
---
|
||||
|
||||
# Swift 软件包注册表
|
||||
# Swift 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Swift](https://www.swift.org/) 软件包。
|
||||
為您的使用者或組織發佈 [Swift](https://www.swift.org/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Swift 软件包注册表,您需要使用 [swift](https://www.swift.org/getting-started/) 消费软件包,并使用 HTTP 客户端(如 `curl`)发布软件包。
|
||||
要使用 Swift 軟體包註冊表,您需要使用 [swift](https://www.swift.org/getting-started/) 消费軟體包,並使用 HTTP 客户端(如 `curl`)發佈軟體包。
|
||||
|
||||
## 配置软件包注册表
|
||||
## 配置軟體包註冊表
|
||||
|
||||
要注册软件包注册表并提供凭据,请执行以下命令:
|
||||
要注册軟體包註冊表並提供凭据,請執行以下命令:
|
||||
|
||||
```shell
|
||||
swift package-registry set https://gitea.example.com/api/packages/{owner}/swift -login {username} -password {password}
|
||||
@@ -22,21 +22,21 @@ swift package-registry set https://gitea.example.com/api/packages/{owner}/swift
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `owner` | 软件包的所有者。 |
|
||||
| `username` | 您的 Gitea 用户名。 |
|
||||
| `password` | 您的 Gitea 密码。如果您使用两步验证或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)代替密码。 |
|
||||
| `owner` | 軟體包的所有者。 |
|
||||
| `username` | 您的 Gitea 使用者名。 |
|
||||
| `password` | 您的 Gitea 密碼。如果您使用两步驗證或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)代替密碼。 |
|
||||
|
||||
登录是可选的,只有在软件包注册表是私有的情况下才需要。
|
||||
登入是可選的,只有在軟體包註冊表是私有的情况下才需要。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
首先,您需要打包软件包的内容:
|
||||
首先,您需要打包軟體包的内容:
|
||||
|
||||
```shell
|
||||
swift package archive-source
|
||||
```
|
||||
|
||||
要发布软件包,请执行一个带有软件包内容的 HTTP `PUT` 请求,将内容放在请求正文中。
|
||||
要發佈軟體包,請執行一个带有軟體包内容的 HTTP `PUT` 請求,将内容放在請求正文中。
|
||||
|
||||
```shell --user your_username:your_password_or_token \
|
||||
curl -X PUT --user {username}:{password} \
|
||||
@@ -48,19 +48,19 @@ curl -X PUT --user {username}:{password} \
|
||||
|
||||
| 占位符 | 描述 |
|
||||
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `username` | 您的 Gitea 用户名。 |
|
||||
| `password` | 您的 Gitea 密码。如果您使用两步验证或 OAuth,请使用[个人访问令牌](development/api-usage.md#通过-api-认证)代替密码。 |
|
||||
| `owner` | 软件包的所有者。 |
|
||||
| `scope` | 软件包的作用域。 |
|
||||
| `name` | 软件包的名称。 |
|
||||
| `version` | 软件包的版本。 |
|
||||
| `metadata` | (可选)软件包的元数据。以 JSON 编码的子集,格式参考 https://schema.org/SoftwareSourceCode |
|
||||
| `username` | 您的 Gitea 使用者名。 |
|
||||
| `password` | 您的 Gitea 密碼。如果您使用两步驗證或 OAuth,請使用[个人访问令牌](development/api-usage.md#通過-api-認證)代替密碼。 |
|
||||
| `owner` | 軟體包的所有者。 |
|
||||
| `scope` | 軟體包的作用域。 |
|
||||
| `name` | 軟體包的名稱。 |
|
||||
| `version` | 軟體包的版本。 |
|
||||
| `metadata` | (可選)軟體包的元数据。以 JSON 编码的子集,格式参考 https://schema.org/SoftwareSourceCode |
|
||||
|
||||
如果已经存在相同名称和版本的软件包,则无法发布软件包。您必须首先删除现有的软件包。
|
||||
如果已经存在相同名稱和版本的軟體包,则無法發佈軟體包。您必須首先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装 Swift 软件包,请将其添加到 `Package.swift` 文件的依赖项列表中:
|
||||
要从軟體包註冊表安裝 Swift 軟體包,請将其添加到 `Package.swift` 文件的依赖项列表中:
|
||||
|
||||
```
|
||||
dependencies: [
|
||||
@@ -68,13 +68,13 @@ dependencies: [
|
||||
]
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| --------- | -------------- |
|
||||
| `scope` | 软件包的作用域 |
|
||||
| `name` | 软件包的名称 |
|
||||
| `version` | 软件包的版本 |
|
||||
| `scope` | 軟體包的作用域 |
|
||||
| `name` | 軟體包的名稱 |
|
||||
| `version` | 軟體包的版本 |
|
||||
|
||||
之后,执行以下命令来安装它:
|
||||
之后,執行以下命令来安裝它:
|
||||
|
||||
```shell
|
||||
swift package resolve
|
||||
|
||||
@@ -4,28 +4,28 @@ slug: "vagrant"
|
||||
sidebar_position: 120
|
||||
---
|
||||
|
||||
# Vagrant 软件包注册表
|
||||
# Vagrant 軟體包註冊表
|
||||
|
||||
为您的用户或组织发布 [Vagrant](https://www.vagrantup.com/) 软件包。
|
||||
為您的使用者或組織發佈 [Vagrant](https://www.vagrantup.com/) 軟體包。
|
||||
|
||||
## 要求
|
||||
|
||||
要使用 Vagrant 软件包注册表,您需要安装 [Vagrant](https://www.vagrantup.com/downloads) 并使用类似于 `curl` 的工具进行 HTTP 请求。
|
||||
要使用 Vagrant 軟體包註冊表,您需要安裝 [Vagrant](https://www.vagrantup.com/downloads) 並使用类似于 `curl` 的工具進行 HTTP 請求。
|
||||
|
||||
## 发布软件包
|
||||
## 發佈軟體包
|
||||
|
||||
通过执行 HTTP PUT 请求将 Vagrant box 发布到注册表:
|
||||
通過執行 HTTP PUT 請求将 Vagrant box 發佈到註冊表:
|
||||
|
||||
```
|
||||
PUT https://gitea.example.com/api/packages/{owner}/vagrant/{package_name}/{package_version}/{provider}.box
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| ----------------- | ------------------------------------------------------------------ |
|
||||
| `owner` | 软件包的所有者 |
|
||||
| `package_name` | 软件包的名称 |
|
||||
| `package_version` | 软件包的版本,兼容 semver 格式 |
|
||||
| `provider` | [支持的提供程序名称](https://www.vagrantup.com/docs/providers)之一 |
|
||||
| `owner` | 軟體包的所有者 |
|
||||
| `package_name` | 軟體包的名稱 |
|
||||
| `package_version` | 軟體包的版本,兼容 semver 格式 |
|
||||
| `provider` | [支持的提供程序名稱](https://www.vagrantup.com/docs/providers)之一 |
|
||||
|
||||
上传 Hyper-V box 的示例:
|
||||
|
||||
@@ -35,20 +35,20 @@ curl --user your_username:your_password_or_token \
|
||||
https://gitea.example.com/api/packages/testuser/vagrant/test_system/1.0.0/hyperv.box
|
||||
```
|
||||
|
||||
如果已经存在相同名称、版本和提供程序的软件包,则无法发布软件包。您必须首先删除现有的软件包。
|
||||
如果已经存在相同名稱、版本和提供程序的軟體包,则無法發佈軟體包。您必須首先删除現有的軟體包。
|
||||
|
||||
## 安装软件包
|
||||
## 安裝軟體包
|
||||
|
||||
要从软件包注册表安装软件包,请执行以下命令:
|
||||
要从軟體包註冊表安裝軟體包,請執行以下命令:
|
||||
|
||||
```shell
|
||||
vagrant box add "https://gitea.example.com/api/packages/{owner}/vagrant/{package_name}"
|
||||
```
|
||||
|
||||
| 参数 | 描述 |
|
||||
| 參數 | 描述 |
|
||||
| -------------- | --------------- |
|
||||
| `owner` | 软件包的所有者. |
|
||||
| `package_name` | 软件包的名称 |
|
||||
| `owner` | 軟體包的所有者. |
|
||||
| `package_name` | 軟體包的名稱 |
|
||||
|
||||
例如:
|
||||
|
||||
@@ -56,8 +56,8 @@ vagrant box add "https://gitea.example.com/api/packages/{owner}/vagrant/{package
|
||||
vagrant box add "https://gitea.example.com/api/packages/testuser/vagrant/test_system"
|
||||
```
|
||||
|
||||
这将安装软件包的最新版本。要添加特定版本,请使用` --box-version` 参数。
|
||||
如果注册表是私有的,您可以将您的[个人访问令牌](development/api-usage.md#通过-api-认证)传递给 `VAGRANT_CLOUD_TOKEN` 环境变量。
|
||||
这将安裝軟體包的最新版本。要添加特定版本,請使用` --box-version` 參數。
|
||||
如果註冊表是私有的,您可以将您的[个人访问令牌](development/api-usage.md#通過-api-認證)传递给 `VAGRANT_CLOUD_TOKEN` 环境变量。
|
||||
|
||||
## 支持的命令
|
||||
|
||||
|
||||
Reference in New Issue
Block a user