Update zh tw languages and fix some broken links (#455)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/455
Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
Lunny Xiao
2026-07-09 23:41:46 +00:00
parent c0f8a04185
commit 965c269495
652 changed files with 30864 additions and 30792 deletions

View File

@@ -5,63 +5,63 @@ slug: "alpine"
---
# Alpine 软件包注册
# Alpine 套件註冊
在您的用户或组织中发布 [Alpine](https://pkgs.alpinelinux.org/) 软件包
在您的使用者或組織中發佈 [Alpine](https://pkgs.alpinelinux.org/) 套件
## 要求
要使用 Alpine 注册表,您需要使用像 curl 这样的 HTTP 客户端来上传包,使用像 apk 这样的包管理器来消费包。
要使用 Alpine 註冊表,您需要使用像 curl 這樣的 HTTP 客戶端來上傳包,使用像 apk 這樣的套件管理器來消費包。
以下例使用 `apk`
以下例使用 `apk`
## 配置软件包注册
## 設定套件註冊
注册 Alpine 注册表,请将 URL 添加到已知的 apk 源列表中 (`/etc/apk/repositories`):
註冊 Alpine 註冊表,請將 URL 添加到已知的 apk 源列表中 (`/etc/apk/repositories`):
```
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`似的名。 |
| `branch` | 分支可以操作系統的發行版本匹配例如v3.17。 |
| `repository` | 儲存庫可以用[](https://wiki.alpinelinux.org/wiki/Repositories) 或者只是 `main`似的名。 |
使用 HTTP 基本身份验证的示例请求:
使用 HTTP 基本身份驗證的範例請求:
```shell
curl --user your_username:your_password_or_token \
@@ -69,50 +69,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#透過-api-認證)代替密
您不能具有相同名的文件兩次發佈到一包中。您必首先刪除現有的包文件。
服务器将以以下的 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` | 软件包的架 |
| `filename` | 要除的文件名 |
| `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 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ---------------- | ------------------ |
| `204 No Content` | 成功 |
| `404 Not Found` | 未找到软件包或文件 |
| `404 Not Found` | 未找到套件或文件 |
## 安装软件包
## 安裝套件
Alpine 注册表安装软件包,请执行以下命令:
Alpine 註冊表安裝套件,請執行以下命令:
```shell
# use latest version

View File

@@ -6,37 +6,37 @@ 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 中的软件包与索引注册表中的信息不同步,设置页面允重建这个索引注册表。
这个操作将遍历注册表中的所有软件包,并将它们的信息写入索引中。
如果有很多软件包,这个过程可能需要一些时间
如果存在 Gitea 中的套件與索引註冊表中的資訊不同步,設定頁面允重建這個索引註冊表。
這個操作將遍歷註冊表中的所有套件,並將它們的資訊寫入索引中。
如果有很多套件,這個過程可能需要一些時間
## 配置软件包注册
## 設定套件註冊
注册这个软件包注册表,必更新 Cargo 的配置
以下文本添加到位于当前用户主目中的配置文件中(例如 `~/.cargo/config.toml`
註冊這個套件註冊表,必更新 Cargo 的設定
以下文本添加到位於當前使用者主目中的設定文件中(例如 `~/.cargo/config.toml`
```
[registry]
@@ -50,45 +50,45 @@ 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` | 套件名稱。 |
## 支的命令
## 支的命令
```
cargo publish

View File

@@ -6,81 +6,81 @@ 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` | 套件版本 |

View File

@@ -6,35 +6,35 @@ 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 \
@@ -42,7 +42,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 \
@@ -50,18 +50,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 状态码 | 含 |
| 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
{
@@ -73,7 +73,7 @@ curl --user your_username:your_password_or_token \
}
```
要使用凭据访问软件包注册表,您必`auth.json` 文件中指定它,如下所示:
要使用憑據訪問套件註冊表,您必`auth.json` 文件中指定它,如下所示:
```json
{
@@ -86,27 +86,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` | 套件版本 |

View File

@@ -6,29 +6,29 @@ 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` | 套件的所有者。 |
例如:
@@ -37,18 +37,18 @@ 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` | 程名 |
| `recipe` | 要上的 recipe |
| `remote` | 程名 |
| `recipe` | 要上的 recipe |
For example:
@@ -56,20 +56,20 @@ 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` | 程名 |
| `recipe` | 要下的 recipe |
| `remote` | 程名 |
| `recipe` | 要下的 recipe |
例如:
@@ -77,7 +77,7 @@ conan install --remote={remote} {recipe}
conan install --remote=gitea ConanPackage/1.2@gitea/final
```
## 支的命令
## 支的命令
```
conan install

View File

@@ -6,17 +6,17 @@ 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,29 +26,29 @@ default_channels:
- https://gitea.example.com/api/packages/{owner}/conda
```
| 位符 | 描述 |
| 位符 | 描述 |
| ------- | -------------- |
| `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:password@gitea.example.com/...`)。
如果需要提供憑據,可以將它們作為通道 URL 的一部分嵌入(`https://user:password@gitea.example.com/...`)。
## 发布软件包
## 發佈套件
发布一个软件包,请执行一HTTP `PUT`操作,求正文中包含软件包内容。
發佈一個套件,請執行一HTTP `PUT`操作,求正文中包含套件內容。
```
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 \
@@ -56,11 +56,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}
@@ -68,8 +68,8 @@ conda install {package_name}={package_version}
conda install -c {channel} {package_name}
```
| 参数 | 描述 |
| 參數 | 描述 |
| ----------------- | -------------------- |
| `package_name` | 软件包的名 |
| `package_version` | 软件包的版本 |
| `channel` | 软件包的通道(可 |
| `package_name` | 套件的名 |
| `package_version` | 套件的版本 |
| `channel` | 套件的通道(可 |

View File

@@ -6,33 +6,33 @@ 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`端。
要使用容器註冊表,您可以使用適用於特定鏡像類型的工具。
以下例使用 `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`
@@ -40,21 +40,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` | 像的标签 |
| `owner` | 像的所有者 |
| `image` | 像的名 |
| `tag` | 像的標籤 |
例如:
@@ -62,9 +62,9 @@ docker push gitea.example.com/{owner}/{image}:{tag}
docker push gitea.example.com/testuser/myimage:latest
```
## 拉取
## 拉取
通过执行以下命令拉取像:
透過執行以下命令拉取像:
```shell
docker pull gitea.example.com/{owner}/{image}:{tag}
@@ -72,9 +72,9 @@ docker pull gitea.example.com/{owner}/{image}:{tag}
| Parameter | Description |
| --------- | ------------ |
| `owner` | 像的所有者 |
| `image` | 像的名 |
| `tag` | 像的标签 |
| `owner` | 像的所有者 |
| `image` | 像的名 |
| `tag` | 像的標籤 |
例如:

View File

@@ -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:password@gitea.example.com/...`)中。
如果需要提供憑據,可以將它們嵌入到URL(`https://user:password@gitea.example.com/...`)中。
## 发布软件包
## 發佈套件
发布 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. |

View File

@@ -5,63 +5,63 @@ 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`
以下例使用 `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
```
| 位符 | 描述 |
| 位符 | 描述 |
| -------------- | -------------- |
| `owner` | 软件包的所有者 |
| `distribution` | 要使用的行版 |
| `component` | 要使用的件 |
| `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 \
@@ -69,51 +69,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 状态码 | 意 |
| 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 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ---------------- | ------------------ |
| `204 No Content` | 成功 |
| `404 Not Found` | 找不到软件包或文件 |
| `404 Not Found` | 找不到套件或文件 |
## 安装软件包
## 安裝套件
Debian 注册表安装软件包,请执行以下命令:
Debian 註冊表安裝套件,請執行以下命令:
```shell
# use latest version

View File

@@ -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` | 软件包版本,一非空字符串,不包含前或尾空格 |
| `file_name` | 文件名。它只能包含小字母 (`a-z`)、大字母 (`A-Z`)、字 (`0-9`)、点号 (`.`)、字符 (`-`)、加 (`+`) 或下划线 (`_`) |
| `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 状态码 | 意 |
| 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 状态码 | 含 |
| 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 \
@@ -100,36 +100,36 @@ curl --user your_username:your_token_or_password -X DELETE \
The server responds with the following HTTP Status codes.
| HTTP 状态码 | 意 |
| 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 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ---------------- | ------------------ |
| `204 No Content` | 成功 |
| `404 Not Found` | 找不到软件包或文件 |
| `404 Not Found` | 找不到套件或文件 |

View File

@@ -6,25 +6,25 @@ 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 \
@@ -32,19 +32,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 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ----------------- | -------------------------- |
| `201 Created` | 软件包已发布 |
| `400 Bad Request` | 软件包无效 |
| `409 Conflict` | 具有相同名称的软件包已存在 |
| `201 Created` | 套件已發佈 |
| `400 Bad Request` | 套件無效 |
| `409 Conflict` | 具有相同名稱的套件已存在 |
## 安装软件包
## 安裝套件
要安Go软件包,请指示Go使用软件包注册表作代理:
要安Go套件,請指示Go使用套件註冊表作代理:
```shell
# 使用最新版本
@@ -55,12 +55,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)。

View File

@@ -6,40 +6,40 @@ 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
```
或者使用 `helm cm-push` 插件
或者使用 `helm cm-push` 外掛
```shell
helm repo add --username {username} --password {password} {repo} https://gitea.example.com/api/packages/{owner}/helm
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
@@ -47,11 +47,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的名 |

View File

@@ -6,18 +6,18 @@ 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``Gradle Groovy`
要使用 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>
@@ -37,7 +37,7 @@ sidebar_position: 60
</settings>
```
后在项目`pom.xml` 文件中添加以下部分:
後在專案`pom.xml` 文件中添加以下部分:
```xml
<repositories>
@@ -58,14 +58,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 {
@@ -74,11 +74,11 @@ repositories {
}
```
在 Groovy gradle 中,您可以在发布部分中包含以下本:
在 Groovy gradle 中,您可以在發佈部分中包含以下本:
```groovy
publishing {
// 其他发布设
// 其他發佈設
repositories {
maven {
name = "Gitea"
@@ -97,35 +97,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>
@@ -135,19 +135,19 @@ mvn deploy:deploy-file -Durl=https://gitea.example.com/api/packages/{owner}/mave
</dependency>
```
`Gradle Groovy`似的操作如下:
`Gradle Groovy`似的操作如下:
```groovy
implementation "com.test.package:test_project:1.0.0"
```
后运行:
後運行:
```shell
mvn install
```
## 支的命令
## 支的命令
```
mvn install

View File

@@ -8,30 +8,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` 工具。
以下例使用具有作用域 `@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-認證)。 |
例如:
@@ -47,28 +47,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` | 套件版本 |
例如
@@ -77,17 +77,17 @@ npm unpublish @test/test_package
npm unpublish @test/test_package@1.0.0
```
## 安装软件包
## 安裝套件
从软件包注册表中安装软件包,请执行以下命令:
從套件註冊表中安裝套件,請執行以下命令:
```shell
npm install {package_name}
```
| 参数 | 描述 |
| 參數 | 描述 |
| -------------- | ---------- |
| `package_name` | 软件包名称 |
| `package_name` | 套件名稱 |
例如:
@@ -95,19 +95,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` | 套件標籤 |
例如:
@@ -115,13 +115,13 @@ npm dist-tag add {package_name}@{version} {tag}
npm dist-tag add test_package@1.0.2 release
```
标签名称不能是有效的版本。所有可解析版本的标签名称都将被拒
標籤名稱不能是有效的版本。所有可解析版本的標籤名稱都將被拒
## 搜索软件包
## 搜索套件
该注册表支[搜索](https://docs.npmjs.com/cli/v7/commands/npm-search/),但不支`author:gitea` 这样的特殊搜索限定符。
該註冊表支[搜索](https://docs.npmjs.com/cli/v7/commands/npm-search/),但不支`author:gitea` 這樣的特殊搜索限定符。
## 支的命令
## 支的命令
```
npm install

View File

@@ -5,29 +5,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)。
以下例使用 `dotnet nuget` 工具。
要使用 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` | 套件的所有者 |
例如:
@@ -35,20 +35,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` 文件的路。 |
例如:
@@ -56,20 +56,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` | 套件註冊表的所有者 |
例如:
@@ -77,19 +77,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` | 套件版本。 |
例如:
@@ -97,7 +97,7 @@ dotnet add package --source {source_name} --version {package_version} {package_n
dotnet add package --source gitea --version 1.0.0 test_package
```
## 支的命令
## 支的命令
```
dotnet add

View File

@@ -6,13 +6,13 @@ sidebar_position: 1
---
# 软件包注册
# 套件註冊
Gitea **1.17**版本始,软件包注册表可以用作常见软件包管理器的公共或私有注册表。
Gitea **1.17**版本始,套件註冊表可以用作常見套件管理器的公共或私有註冊表。
## 支持的软件包管理器
## 支援的套件管理器
目前支以下软件包管理器:
目前支以下套件管理器:
| Name | Language | Package client |
| ------------------------------------------------------------------- | ---------- | ------------------------- |
@@ -22,12 +22,12 @@ sidebar_position: 1
| [Composer](usage/packages/composer.md) | PHP | `composer` |
| [Conan](usage/packages/conan.md) | C++ | `conan` |
| [Conda](usage/packages/conda.md) | - | `conda` |
| [Container](usage/packages/container.md) | - | 任何符合OCI规范的客端 |
| [Container](usage/packages/container.md) | - | 任何符合OCI規範的客端 |
| [CRAN](usage/packages/cran.md) | R | - |
| [Debian](usage/packages/debian.md) | - | `apt` |
| [Generic](usage/packages/generic.md) | - | 任何HTTP客端 |
| [Generic](usage/packages/generic.md) | - | 任何HTTP客端 |
| [Go](usage/packages/go.md) | Go | `go` |
| [Helm](usage/packages/helm.md) | - | 任何HTTP客端, `cm-push` |
| [Helm](usage/packages/helm.md) | - | 任何HTTP客端, `cm-push` |
| [Maven](usage/packages/maven.md) | Java | `mvn`, `gradle` |
| [npm](usage/packages/npm.md) | JavaScript | `npm`, `yarn`, `pnpm` |
| [NuGet](usage/packages/nuget.md) | .NET | `nuget` |
@@ -38,61 +38,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. 禁用**啟用儲存庫套件註冊表**.
禁用软件包注册表不会删除先前发布的软件包
禁用套件註冊表不會刪除先前發佈的套件

View File

@@ -6,62 +6,62 @@ 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`
以下例使用 `dart`
## 配置软件包注册
## 設定套件註冊
注册软件包注册表并提供凭据,请执行以下操作:
註冊套件註冊表並提供憑據,請執行以下操作:
```shell
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
```
| 位符 | 描述 |
| 位符 | 描述 |
| ------- | -------------- |
| `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` | 套件名稱 |
例如:

View File

@@ -6,17 +6,17 @@ 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,38 +28,38 @@ username = {username}
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` | 套件名稱 |
例如:
@@ -67,9 +67,9 @@ pip install --index-url https://{username}:{password}@gitea.example.com/api/pack
pip install --index-url https://testuser:password123@gitea.example.com/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`件以獲取更多資訊
## 支的命令
## 支的命令
```
pip install

View File

@@ -4,51 +4,51 @@ 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`
以下例使用 `dnf`
## 配置软件包注册
## 設定套件註冊
注册RPM注册表,请将 URL 添加到已知 `apt` 源列表中:
註冊RPM註冊表,請將 URL 添加到已知 `apt` 源列表中:
```shell
dnf config-manager --add-repo https://gitea.example.com/api/packages/{owner}/rpm/{group}.repo
```
| 位符 | 描述 |
| 位符 | 描述 |
| ------- |--------------------------------------|
| `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 状态码 | 含 |
| 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 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ---------------- | ------------------ |
| `204 No Content` | 成功 |
| `404 Not Found` | 未找到软件包或文件 |
| `404 Not Found` | 未找到套件或文件 |
## 安装软件包
## 安裝套件
RPM注册表安装软件包,请执行以下命令:
RPM註冊表安裝套件,請執行以下命令:
```shell
# use latest version

View File

@@ -6,27 +6,27 @@ 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-認證) |
例如:
@@ -35,18 +35,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` 文件的路 |
例如:
@@ -54,15 +54,15 @@ 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
在您的 `Gemfile` 中添加一新的 `source`
在您的 `Gemfile` 中添加一新的 `source`
```
source "https://gitea.example.com/api/packages/{owner}/rubygems" do
@@ -70,10 +70,10 @@ source "https://gitea.example.com/api/packages/{owner}/rubygems" do
end
```
| 参数 | 描述 |
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 软件包的所有者 |
| `package_name` | 软件包名称 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
例如:
@@ -83,7 +83,7 @@ source "https://gitea.example.com/api/packages/testuser/rubygems" do
end
```
后运行以下命令:
後運行以下命令:
```shell
bundle install
@@ -91,16 +91,16 @@ bundle install
### gem
行以下命令:
行以下命令:
```shell
gem install --host https://gitea.example.com/api/packages/{owner}/rubygems {package_name}
```
| 参数 | 描述 |
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 软件包的所有者 |
| `package_name` | 软件包名称 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
例如:
@@ -108,7 +108,7 @@ gem install --host https://gitea.example.com/api/packages/{owner}/rubygems {pack
gem install --host https://gitea.example.com/api/packages/testuser/rubygems test_package
```
## 支的命令
## 支的命令
```
gem install

View File

@@ -6,69 +6,69 @@ sidebar_position: 5
---
# 存
#
本文描述了软件包注册表的存储方式以及如何管理存
本文描述了套件註冊表的儲存方式以及如何管理存。
## 去重
软件包注册表具有置的去重功能,可以对上传的 Blob 行去重理。
如果上传了两个相同的文件,只在文件系上保存一 Blob。
这样可以保不会浪费空间用于重复的文件。
套件註冊表具有置的去重功能,可以對上傳的 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. 对于每个软件包,收集所有版本。
3. *保留最近的版本* 的值,列表中排除版本。
4. *保留以下模式匹配的版本* 的值,列表中排除任何版本。
5. *除早多少天的版本* 的值,列表中排除比这个值更近的版本。
6. *删除与以下模式匹配的版本* 的值,列表中排除任何不匹配的版本。
7. 除剩的版本。
1. 收集所有屬於所有者註冊表的特定套件類型的套件
2. 對於每個套件,收集所有版本。
3. *保留最近的版本* 的值,列表中排除版本。
4. *保留以下模式匹配的版本* 的值,列表中排除任何版本。
5. *除早多少天的版本* 的值,列表中排除比這個值更近的版本。
6. *刪除與以下模式匹配的版本* 的值,列表中排除任何不匹配的版本。
7. 除剩的版本。

View File

@@ -4,39 +4,39 @@ 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}
```
| 位符 | 描述 |
| 位符 | 描述 |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `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} \
@@ -46,21 +46,21 @@ curl -X PUT --user {username}:{password} \
https://gitea.example.com/api/packages/{owner}/swift/{scope}/{name}/{version}
```
| 位符 | 描述 |
| 位符 | 描述 |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `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

View File

@@ -6,30 +6,30 @@ 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 的例:
Hyper-V box 的例:
```shell
curl --user your_username:your_password_or_token \
@@ -37,20 +37,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` | 套件的名 |
例如:
@@ -58,10 +58,10 @@ 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` 環境變量。
## 支的命令
## 支的命令
```
vagrant box add