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

@@ -4,51 +4,51 @@ 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`
以下例使用 `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` | 要使用的存放庫名 |
如果註冊表是私有的,請在 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}
@@ -57,8 +57,8 @@ 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 基本身份驗證的範例請求:
@@ -68,20 +68,20 @@ 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}
@@ -89,11 +89,11 @@ DELETE https://gitea.example.com/api/packages/{owner}/alpine/{branch}/{repositor
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 軟體包的所有者 |
| `owner` | 套件的所有者 |
| `branch` | 要使用的分支名 |
| `repository` | 要使用的存放庫名 |
| `architecture` | 軟體包的架 |
| `filename` | 要除的文件名 |
| `architecture` | 套件的架 |
| `filename` | 要除的文件名 |
使用 HTTP 基本身份驗證的範例請求:
@@ -102,16 +102,16 @@ 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,13 +6,13 @@ sidebar_position: 5
# Arch 儲存庫
在您的使用者或組織中發佈 [Arch](https://archlinux.org/packages/) 軟體包。 Arch 儲存庫的功能像是一個完整的[鏡像Arch 儲存庫](https://wiki.archlinux.org/title/mirrors\),需要調整系統的`/etc/pacman.conf`文件。
在您的使用者或組織中發佈 [Arch](https://archlinux.org/packages/) 套件。 Arch 儲存庫的功能像是一個完整的[鏡像Arch 儲存庫](https://wiki.archlinux.org/title/mirrors\),需要調整系統的`/etc/pacman.conf`文件。
## 需求
系統需要安裝有HTTP客戶端像是`curl`來下載文件,且必須安裝有`pacman`軟體包管理工具。
系統需要安裝有HTTP客戶端像是`curl`來下載文件,且必須安裝有`pacman`套件管理工具。
## 配置 Arch 儲存庫
## 設定 Arch 儲存庫
Arch 儲存庫的軟體都有`gpg`簽名驗證,所以需要匯入驗證需要的公鑰,下面是下載公鑰的範例。
```sh
@@ -30,34 +30,34 @@ pacman-key --add repository.key
pacman-key --lsign-key {key id}
```
匯入驗證的公鑰接下來要修改pacman的配置檔,位置是`/etc/pacman.conf`,內容如下。
匯入驗證的公鑰接下來要修改pacman的設定檔,位置是`/etc/pacman.conf`,內容如下。
```conf
[{owner}.gitea.example.com]
SigLevel = Required
Server = https://gitea.example.com/api/packages/{owner}/arch/{repository}/{architecture}
```
| 位符 | 描述 |
| 位符 | 描述 |
| ------------ | -------------- |
| `owner` | 軟體包所有者 |
| `owner` | 套件所有者 |
| `repository` | 要使用的存放庫名 |
| `architecture` | 軟體包的架 |
| `architecture` | 套件的架 |
如果註冊表是私有的,請在 URL 中提供凭据。您可以使用密碼或[个人访问令牌](development/api-usage.md#過-api-認證):
如果註冊表是私有的,請在 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` 操作,其放在請求體中。
要發佈一 Arch 套件,請執行有包容的 HTTP `PUT` 操作,其放在請求體中。
```
PUT https://gitea.example.com/api/packages/{owner}/arch/{repository}
```
| 位符 | 描述 |
| 位符 | 描述 |
| ------------ | -------------- |
| `owner` | 軟體包所有者 |
| `owner` | 套件所有者 |
| `repository` | 要使用的存放庫名 |
使用 HTTP 基本身份驗證的範例請求:
@@ -68,31 +68,31 @@ curl --user your_username:your_password_or_token \
https://gitea.example.com/api/packages/testuser/arch/core
```
如果您使用的是重身份驗證或 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` | 具有相同參數合的包文件已存在於套件中。 |
## 安裝軟體包
## 安裝套件
AArch 儲存庫安裝軟體包,請執行以下命令:
AArch 儲存庫安裝套件,請執行以下命令:
```sh
pacman -Sy {package_name}
```
| Parameter | 含 |
| Parameter | 含 |
| -------------- | ----------- |
| `package_name` | 軟體包 |
| `package_name` | 套件 |
## 删除軟體包
## 刪除套件
除 Arch 軟體包,執行 HTTP 的 DELETE 操作。如果有文件,这将同时删除包版本。
除 Arch 套件,執行 HTTP 的 DELETE 操作。如果有文件,這將同時刪除包版本。
```
DELETE https://gitea.example.com/api/packages/{owner}/arch/{repository}/{package_name}/{package_version}/{architecture}
@@ -101,10 +101,10 @@ DELETE https://gitea.example.com/api/packages/{owner}/arch/{repository}/{package
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 軟體包的所有者 |
| `owner` | 套件的所有者 |
| `repository` | 要使用的存放庫名 |
| `architecture` | 軟體包的架 |
| `package_name` | 要除的軟體名 |
| `architecture` | 套件的架 |
| `package_name` | 要除的軟體名 |
| `package_version` | 軟體版本 |
使用 HTTP 基本身份驗證的範例請求:
@@ -114,9 +114,9 @@ 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 狀態碼回應:
| HTTP 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ---------------- | ------------------ |
| `204 No Content` | 成功 |
| `404 Not Found` | 未找到軟體包或文件 |
| `404 Not Found` | 未找到套件或文件 |

View File

@@ -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 中的軟體包与索引註冊表中的信息不同步,设置页面允重建这个索引註冊表。
这个操作将遍历註冊表中的所有軟體包,並将它们的信息写入索引中。
如果有很多軟體包,这个過程可能需要一些时间
如果儲在 Gitea 中的套件與索引註冊表中的資訊不同步,設定頁面允重建這個索引註冊表。
這個操作將遍歷註冊表中的所有套件,並將它們的資訊寫入索引中。
如果有很多套件,這個過程可能需要一些時間
## 配置軟體包註冊表
## 設定套件註冊表
注册这个軟體包註冊表,必須更新 Cargo 的配置
以下文本添加到位于当前使用者主目錄中的配置文件中(例如 `~/.cargo/config.toml`
註冊這個套件註冊表,必須更新 Cargo 的設定
以下文本添加到位於當前使用者主目錄中的設定文件中(例如 `~/.cargo/config.toml`
```
[registry]
@@ -50,10 +50,10 @@ git-fetch-with-cli = true
| 參數 | 描述 |
| ------- | ---------------- |
| `owner` | 軟體包的所有者。 |
| `owner` | 套件的所有者。 |
如果这个註冊表是私有的或者您想要發佈新的軟體包,您必須配置您的凭据
将凭据部分添加到位于当前使用者主目錄中的凭据文件中(例如 `~/.cargo/credentials.toml`
如果這個註冊表是私有的或者您想要發佈新的套件,您必須設定您的憑據
將憑據部分添加到位於當前使用者主目錄中的憑據文件中(例如 `~/.cargo/credentials.toml`
```
[registries.gitea]
@@ -62,21 +62,21 @@ token = "Bearer {token}"
| 參數 | 描述 |
| ------- | ------------------------------------------------------------------------------------- |
| `token` | 您的[个人访问令牌](development/api-usage.md#過-api-認證) |
| `token` | 您的[個人存取權杖](development/api-usage.md#過-api-認證) |
## 發佈軟體包
## 發佈套件
项目中运行以下命令發佈軟體包
專案中運行以下命令發佈套件
```shell
cargo publish
```
如果已存在同名和版本的軟體包,您無法發佈新的軟體包。您必須先除現有的軟體包
如果已存在同名和版本的套件,您無法發佈新的套件。您必須先除現有的套件
## 安裝軟體包
## 安裝套件
从軟體包註冊表安裝軟體包,請執行以下命令:
從套件註冊表安裝套件,請執行以下命令:
```shell
cargo add {package_name}
@@ -84,9 +84,9 @@ cargo add {package_name}
| 參數 | 描述 |
| -------------- | ------------ |
| `package_name` | 軟體包名稱。 |
| `package_name` | 套件名稱。 |
## 支的命令
## 支的命令
```
cargo publish

View File

@@ -4,24 +4,24 @@ slug: "chef"
sidebar_position: 5
---
# Chef 軟體包註冊表
# Chef 套件註冊表
為您的使用者或組織發佈 [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'
@@ -29,11 +29,11 @@ knife[:supermarket_site] = 'https://gitea.example.com/api/packages/{owner}/chef'
| 參數 | 描述 |
| ------- | -------------- |
| `owner` | 軟體包的所有者 |
| `owner` | 套件的所有者 |
## 發佈軟體包
## 發佈套件
若要發佈 Chef 軟體包,請執行以下命令:
若要發佈 Chef 套件,請執行以下命令:
```shell
knife supermarket share {package_name}
@@ -41,19 +41,19 @@ knife supermarket share {package_name}
| 參數 | 描述 |
| -------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_name` | 套件名稱 |
如果已存在同名和版本的軟體包,则無法發佈新的軟體包。您必須先除現有的軟體包
如果已存在同名和版本的套件,則無法發佈新的套件。您必須先除現有的套件
## 安裝軟體包
## 安裝套件
从軟體包註冊表中安裝軟體包,請執行以下命令:
從套件註冊表中安裝套件,請執行以下命令:
```shell
knife supermarket install {package_name}
```
您可以指定軟體包的版本,是可選的:
您可以指定套件的版本,是可選的:
```shell
knife supermarket install {package_name} {package_version}
@@ -61,18 +61,18 @@ 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}
@@ -80,5 +80,5 @@ knife supermarket unshare {package_name}/versions/{package_version}
| 參數 | 描述 |
| ----------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本 |
| `package_name` | 套件名稱 |
| `package_version` | 套件版本 |

View File

@@ -4,19 +4,19 @@ 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
@@ -24,15 +24,15 @@ 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 状态码 | 含 |
| 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
{
@@ -86,19 +86,19 @@ 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}
@@ -106,5 +106,5 @@ composer require {package_name}:{package_version}
| 參數 | 描述 |
| ----------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本 |
| `package_name` | 套件名稱 |
| `package_version` | 套件版本 |

View File

@@ -4,17 +4,17 @@ 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
@@ -23,10 +23,10 @@ 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,9 +35,9 @@ 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}
@@ -45,8 +45,8 @@ conan upload --remote={remote} {recipe}
| 參數 | 描述 |
| -------- | --------------- |
| `remote` | 程名稱 |
| `recipe` | 要上的 recipe |
| `remote` | 程名稱 |
| `recipe` | 要上的 recipe |
For example:
@@ -54,11 +54,11 @@ 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}
@@ -66,8 +66,8 @@ conan install --remote={remote} {recipe}
| 參數 | 描述 |
| -------- | --------------- |
| `remote` | 程名稱 |
| `recipe` | 要下的 recipe |
| `remote` | 程名稱 |
| `recipe` | 要下的 recipe |
例如:
@@ -75,7 +75,7 @@ conan install --remote={remote} {recipe}
conan install --remote=gitea ConanPackage/1.2@gitea/final
```
## 支的命令
## 支的命令
```
conan install

View File

@@ -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
@@ -24,26 +24,26 @@ 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基本身份驗證的範例請求
@@ -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}
@@ -68,6 +68,6 @@ conda install -c {channel} {package_name}
| 參數 | 描述 |
| ----------------- | -------------------- |
| `package_name` | 軟體包的名稱 |
| `package_version` | 軟體包的版本 |
| `channel` | 軟體包的通道(可選) |
| `package_name` | 套件的名稱 |
| `package_version` | 套件的版本 |
| `channel` | 套件的通道(可選) |

View File

@@ -6,31 +6,31 @@ 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`
@@ -38,11 +38,11 @@ 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}
@@ -50,9 +50,9 @@ docker push gitea.example.com/{owner}/{image}:{tag}
| 參數 | 描述 |
| ------- | ------------ |
| `owner` | 像的所有者 |
| `image` | 像的名稱 |
| `tag` | 像的標籤 |
| `owner` | 像的所有者 |
| `image` | 像的名稱 |
| `tag` | 像的標籤 |
例如:
@@ -60,9 +60,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}
@@ -70,9 +70,9 @@ docker pull gitea.example.com/{owner}/{image}:{tag}
| Parameter | Description |
| --------- | ------------ |
| `owner` | 像的所有者 |
| `image` | 像的名稱 |
| `tag` | 像的標籤 |
| `owner` | 像的所有者 |
| `image` | 像的名稱 |
| `tag` | 像的標籤 |
例如:

View File

@@ -4,17 +4,17 @@ 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")))
@@ -22,15 +22,15 @@ options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/p
| 參數 | 描述 |
| ------- | -------------- |
| `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
@@ -38,9 +38,9 @@ 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}
@@ -48,7 +48,7 @@ PUT https://gitea.example.com/api/packages/{owner}/cran/bin?platform={platform}&
| 參數 | 描述 |
| ---------- | -------------- |
| `owner` | 軟體包的所有者 |
| `owner` | 套件的所有者 |
| `platform` | 平台的名稱 |
| `rversion` | 二進制的R版本 |
@@ -60,11 +60,11 @@ 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}")

View File

@@ -3,51 +3,51 @@ 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`
以下例使用 `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
@@ -55,11 +55,11 @@ PUT https://gitea.example.com/api/packages/{owner}/debian/pool/{distribution}/{c
| 參數 | 描述 |
| -------------- | ----------------------------------------------------- |
| `owner` | 軟體包的所有者 |
| `distribution` | 行版,可能操作系统的发行版名稱匹配,例如 `bionic` |
| `component` | 件,可用于分组軟體包,或僅為 `main`似的件。 |
| `owner` | 套件的所有者 |
| `distribution` | 行版,可能操作系統的發行版名稱匹配,例如 `bionic` |
| `component` | 件,可用於分組套件,或僅為 `main`似的件。 |
使用 HTTP 基本身份驗證的例請求:
使用 HTTP 基本身份驗證的例請求:
```shell
curl --user your_username:your_password_or_token \
@@ -67,20 +67,20 @@ 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}
@@ -88,30 +88,30 @@ DELETE https://gitea.example.com/api/packages/{owner}/debian/pool/{distribution}
| 參數 | 描述 |
| ----------------- | -------------- |
| `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,18 +4,18 @@ 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}
@@ -23,12 +23,12 @@ PUT https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{packa
| 參數 | 描述 |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `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,19 +36,19 @@ 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}
@@ -56,30 +56,30 @@ GET https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{packa
| 參數 | 描述 |
| ----------------- | -------------- |
| `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}
@@ -87,11 +87,11 @@ DELETE https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{pa
| 參數 | 描述 |
| ----------------- | -------------- |
| `owner` | 軟體包的所有者 |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
| `package_version` | 套件版本 |
服务器将使用以下 HTTP 状态代码進行響應。
伺服器將使用以下 HTTP 狀態程式碼進行響應。
```shell
curl --user your_username:your_token_or_password -X DELETE \
@@ -100,14 +100,14 @@ 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}
@@ -115,21 +115,21 @@ DELETE https://gitea.example.com/api/packages/{owner}/generic/{package_name}/{pa
| 參數 | 描述 |
| ----------------- | -------------- |
| `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

@@ -4,15 +4,15 @@ 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
@@ -20,9 +20,9 @@ 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 状态码 | 含 |
| HTTP 狀態碼 | 含 |
| ----------------- | -------------------------- |
| `201 Created` | 軟體包已發佈 |
| `400 Bad Request` | 軟體包無效 |
| `409 Conflict` | 具有相同名稱的軟體包已存在 |
| `201 Created` | 套件已發佈 |
| `400 Bad Request` | 套件無效 |
| `409 Conflict` | 具有相同名稱的套件已存在 |
## 安裝軟體包
## 安裝套件
要安裝Go軟體包請指示Go使用軟體包註冊表作為代理:
要安裝Go套件請指示Go使用套件註冊表作為代理:
```shell
# 使用最新版本
@@ -55,10 +55,10 @@ GOPROXY=https://gitea.example.com/api/packages/{owner}/go go install {package_na
| 參數 | 描述 |
| ----------------- | -------------- |
| `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

@@ -10,17 +10,17 @@ sidebar_position: 50
## 要求
要使用 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
@@ -29,15 +29,15 @@ helm cm-push ./{chart_file}.tgz {repo}
| 參數 | 描述 |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `username` | 您的Gitea使用者名 |
| `password` | 您的Gitea密碼。如果您使用的是2FA或OAuth請使用[个人访问令牌](development/api-usage.md#過-api-認證)替代密碼進行身份驗證。 |
| `username` | 您的Gitea使用者名 |
| `password` | 您的Gitea密碼。如果您使用的是2FA或OAuth請使用[個人存取權杖](development/api-usage.md#過-api-認證)替代密碼進行身份驗證。 |
| `repo` | 存放庫名稱 |
| `chart_file` | Helm Chart 檔文件 |
| `owner` | 軟體包的所有者 |
| `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,9 +47,9 @@ helm install {name} {repo}/{chart}
| 參數 | 描述 |
| ---------- | --------------------------- |
| `username` | 您的Gitea使用者名 |
| `password` | 您的Gitea密碼或个人访问令牌 |
| `repo` | 存儲库的名稱 |
| `owner` | 軟體包的所有者 |
| `username` | 您的Gitea使用者名 |
| `password` | 您的Gitea密碼或個人存取權杖 |
| `repo` | 儲存庫的名稱 |
| `owner` | 套件的所有者 |
| `name` | 本地名稱 |
| `chart` | Helm Chart的名稱 |

View File

@@ -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``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>
@@ -35,7 +35,7 @@ sidebar_position: 60
</settings>
```
后在项目`pom.xml` 文件中添加以下部分:
後在專案`pom.xml` 文件中添加以下部分:
```xml
<repositories>
@@ -58,12 +58,12 @@ sidebar_position: 60
| 參數 | 描述 |
| -------------- | ------------------------------------------------------------------------------------- |
| `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,21 +95,21 @@ 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
@@ -117,13 +117,13 @@ mvn deploy:deploy-file -Durl=https://gitea.example.com/api/packages/{owner}/mave
| 參數 | 描述 |
| ------- | -------------- |
| `owner` | 軟體包的所有者 |
| `owner` | 套件的所有者 |
如果存在相同名稱和版本的軟體包,您無法發佈該軟體包。您必須先除現有的軟體包
如果存在相同名稱和版本的套件,您無法發佈該套件。您必須先除現有的套件
## 安裝軟體包
## 安裝套件
从軟體包註冊表中安裝 Maven 軟體包,請在项目`pom.xml` 文件中添加新的依赖项
從套件註冊表中安裝 Maven 套件,請在專案`pom.xml` 文件中添加新的依賴項
```xml
<dependency>
@@ -133,19 +133,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

@@ -10,15 +10,15 @@ sidebar_position: 70
## 要求
要使用 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/
@@ -27,9 +27,9 @@ npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{t
| 參數 | 描述 |
| ------- | --------------------------------------------------------------------------------------- |
| `scope` | 軟體包的作用域 |
| `owner` | 軟體包的所有者 |
| `token` | 您的[个人访问令牌](development/api-usage.md#過-api-認證)。 |
| `scope` | 套件的作用域 |
| `owner` | 套件的所有者 |
| `token` | 您的[個人存取權杖](development/api-usage.md#過-api-認證)。 |
例如:
@@ -45,19 +45,19 @@ 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}]
@@ -65,8 +65,8 @@ npm unpublish {package_name}[@{package_version}]
| 參數 | 描述 |
| ----------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本 |
| `package_name` | 套件名稱 |
| `package_version` | 套件版本 |
例如
@@ -75,9 +75,9 @@ npm unpublish @test/test_package
npm unpublish @test/test_package@1.0.0
```
## 安裝軟體包
## 安裝套件
从軟體包註冊表中安裝軟體包,請執行以下命令:
從套件註冊表中安裝套件,請執行以下命令:
```shell
npm install {package_name}
@@ -85,7 +85,7 @@ npm install {package_name}
| 參數 | 描述 |
| -------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `package_name` | 套件名稱 |
例如:
@@ -93,9 +93,9 @@ 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}
@@ -103,9 +103,9 @@ npm dist-tag add {package_name}@{version} {tag}
| 參數 | 描述 |
| -------------- | ---------- |
| `package_name` | 軟體包名稱 |
| `version` | 軟體包版本 |
| `tag` | 軟體包標籤 |
| `package_name` | 套件名稱 |
| `version` | 套件版本 |
| `tag` | 套件標籤 |
例如:
@@ -113,13 +113,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

@@ -4,18 +4,18 @@ 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
@@ -24,9 +24,9 @@ dotnet nuget add source --name {source_name} --username {username} --password {p
| 參數 | 描述 |
| ------------- | ---------------------------------------------------------------------------------------------------------------- |
| `source_name` | 所需源名稱 |
| `username` | 您的 Gitea 使用者名 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用[个人访问令牌](development/api-usage.md#過-api-認證)代替密碼。 |
| `owner` | 軟體包的所有者 |
| `username` | 您的 Gitea 使用者名 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用[個人存取權杖](development/api-usage.md#過-api-認證)代替密碼。 |
| `owner` | 套件的所有者 |
例如:
@@ -34,11 +34,11 @@ 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}
@@ -47,7 +47,7 @@ dotnet nuget push --source {source_name} {package_file}
| 參數 | 描述 |
| -------------- | ---------------------------- |
| `source_name` | 所需源名稱 |
| `package_file` | 軟體包 `.nupkg` 文件的路。 |
| `package_file` | 套件 `.nupkg` 文件的路。 |
例如:
@@ -55,12 +55,12 @@ 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
@@ -68,7 +68,7 @@ https://gitea.example.com/api/packages/{owner}/nuget/symbols
| 參數 | 描述 |
| ------- | -------------------- |
| `owner` | 軟體包註冊表的所有者 |
| `owner` | 套件註冊表的所有者 |
例如:
@@ -76,9 +76,9 @@ 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}
@@ -87,8 +87,8 @@ dotnet add package --source {source_name} --version {package_version} {package_n
| 參數 | 描述 |
| ----------------- | ------------ |
| `source_name` | 所需源名稱 |
| `package_name` | 軟體包名稱 |
| `package_version` | 軟體包版本。 |
| `package_name` | 套件名稱 |
| `package_version` | 套件版本。 |
例如:
@@ -96,7 +96,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

@@ -4,13 +4,13 @@ slug: "overview"
sidebar_position: 1
---
# 軟體包註冊表
# 套件註冊表
Gitea **1.17**版本始,軟體包註冊表可以用作常见軟體包管理器的公共或私有註冊表。
Gitea **1.17**版本始,套件註冊表可以用作常見套件管理器的公共或私有註冊表。
## 支持的軟體包管理器
## 支援的套件管理器
目前支以下軟體包管理器:
目前支以下套件管理器:
| Name | Language | Package client |
| ------------------------------------------------------------------- | ---------- | ------------------------- |
@@ -20,12 +20,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` |
@@ -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. 禁用**用存放庫套件註冊表**.
禁用軟體包註冊表不会删除先前發佈的軟體包
禁用套件註冊表不會刪除先前發佈的套件

View File

@@ -4,53 +4,53 @@ 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`
以下例使用 `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/
@@ -58,8 +58,8 @@ dart pub add {package_name} --hosted-url=https://gitea.example.com/api/packages/
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 軟體包的所有者 |
| `package_name` | 軟體包名稱 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
例如:

View File

@@ -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]
@@ -26,27 +26,27 @@ 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}
@@ -54,10 +54,10 @@ pip install --index-url https://{username}:{password}@gitea.example.com/api/pack
| 參數 | 描述 |
| -------------- | ----------------------------- |
| `username` | 您的 Gitea 使用者名 |
| `password` | 您的 Gitea 密碼或个人访问令牌 |
| `owner` | 軟體包的所有者 |
| `package_name` | 軟體包名稱 |
| `username` | 您的 Gitea 使用者名 |
| `password` | 您的 Gitea 密碼或個人存取權杖 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
例如:
@@ -65,9 +65,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,40 +4,40 @@ 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` | 軟體包的所有者 |
| `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
@@ -45,10 +45,10 @@ 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,19 +56,19 @@ 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}
@@ -76,29 +76,29 @@ DELETE https://gitea.example.com/api/packages/{owner}/rpm/{group}/package/{packa
| 參數 | 描述 |
| ----------------- | -------------- |
| `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

@@ -4,17 +4,17 @@ 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
---
@@ -23,8 +23,8 @@ 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,9 +33,9 @@ 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}
@@ -43,8 +43,8 @@ gem push --host {host} {package_file}
| 參數 | 描述 |
| -------------- | ------------------------ |
| `host` | 軟體包註冊表的URL |
| `package_file` | 軟體包 `.gem` 文件的路 |
| `host` | 套件註冊表的URL |
| `package_file` | 套件 `.gem` 文件的路 |
例如:
@@ -52,15 +52,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,8 +70,8 @@ end
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 軟體包的所有者 |
| `package_name` | 軟體包名稱 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
例如:
@@ -81,7 +81,7 @@ source "https://gitea.example.com/api/packages/testuser/rubygems" do
end
```
后运行以下命令:
後運行以下命令:
```shell
bundle install
@@ -97,8 +97,8 @@ gem install --host https://gitea.example.com/api/packages/{owner}/rubygems {pack
| 參數 | 描述 |
| -------------- | -------------- |
| `owner` | 軟體包的所有者 |
| `package_name` | 軟體包名稱 |
| `owner` | 套件的所有者 |
| `package_name` | 套件名稱 |
例如:
@@ -106,7 +106,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

@@ -4,69 +4,69 @@ slug: "storage"
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.*` | 匹配以 `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: [
@@ -70,11 +70,11 @@ dependencies: [
| 參數 | 描述 |
| --------- | -------------- |
| `scope` | 軟體包的作用域 |
| `name` | 軟體包的名稱 |
| `version` | 軟體包的版本 |
| `scope` | 套件的作用域 |
| `name` | 套件的名稱 |
| `version` | 套件的版本 |
,執行以下命令安裝它:
,執行以下命令安裝它:
```shell
swift package resolve

View File

@@ -4,17 +4,17 @@ 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
@@ -22,12 +22,12 @@ PUT https://gitea.example.com/api/packages/{owner}/vagrant/{package_name}/{packa
| 參數 | 描述 |
| ----------------- | ------------------------------------------------------------------ |
| `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 \
@@ -35,11 +35,11 @@ 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}"
@@ -47,8 +47,8 @@ vagrant box add "https://gitea.example.com/api/packages/{owner}/vagrant/{package
| 參數 | 描述 |
| -------------- | --------------- |
| `owner` | 軟體包的所有者. |
| `package_name` | 軟體包的名稱 |
| `owner` | 套件的所有者. |
| `package_name` | 套件的名稱 |
例如:
@@ -56,10 +56,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