Update zh tw languages and fix some broken links

This commit is contained in:
Lunny Xiao
2026-07-01 14:47:51 -07:00
parent 9558006c39
commit a084bdb556
842 changed files with 31137 additions and 31065 deletions

View File

@@ -6,111 +6,111 @@ sidebar_position: 20
# Act Runner
页面将详细介绍[Act Runner](https://gitea.com/gitea/act_runner)是Gitea Actions的Runner。
頁面將詳細介紹[Act Runner](https://gitea.com/gitea/act_runner)是Gitea Actions的Runner。
## 要求
在Docker容器中行Job因此您需要首先安裝Docker。
保Docker守進程正在行。
在Docker容器中行Job因此您需要首先安裝Docker。
保Docker守進程正在行。
其他Docker API容的OCI容器引擎也應該可以正常工作但尚未经過测试
其他Docker API容的OCI容器引擎也應該可以正常工作但尚未經過測試
但是,如果您定要直接在主机上运行Job不需要Docker。
但是,如果您定要直接在主機上運行Job不需要Docker。
## 安裝
有多安裝Act Runner的方法。
有多安裝Act Runner的方法。
### 下二進制文件
### 下二進制文件
您可以[發佈](https://gitea.com/gitea/act_runner/releases)下二進制文件。
然而,如果您想使用最新的夜间构建版本,可以[载页](https://dl.gitea.com/act_runner/)下
您可以[發佈](https://gitea.com/gitea/act_runner/releases)下二進制文件。
然而,如果您想使用最新的夜間構建版本,可以[載頁](https://dl.gitea.com/act_runner/)下
二進制文件,請保您已经下载了适用于您的平台的正版本。
您可以通過运行以下命令進行查:
二進制文件,請保您已經下載了適用於您的平台的正版本。
您可以透過運行以下命令進行查:
```bash
chmod +x act_runner
./act_runner --version
```
如果看到版本信息,则表示您已经下载了正的二進制文件。
如果看到版本資訊,則表示您已經下載了正的二進制文件。
### 使用 Docker
### 使用 Docker
您可以使用[docker hub](https://hub.docker.com/r/gitea/act_runner/tags)上的Docker像。
二進制文件似,您可以使用`nightly`標籤使用最新的夜间构建版本,而`latest`標籤是最新的定版本。
您可以使用[docker hub](https://hub.docker.com/r/gitea/act_runner/tags)上的Docker像。
二進制文件似,您可以使用`nightly`標籤使用最新的夜間構建版本,而`latest`標籤是最新的定版本。
```bash
docker pull docker.io/gitea/act_runner:latest # for the latest stable release
docker pull docker.io/gitea/act_runner:nightly # for the latest nightly build
```
## 配置
## 設定
配置通過配置文件進行。它是可選的,当没有指定配置文件时,将使用默认配置
設定通過設定文件進行。它是可選的,當沒有指定設定文件時,將使用預設設定
您可以通過运行以下命令生成配置文件:
您可以透過運行以下命令生成設定文件:
```bash
./act_runner generate-config
```
默认配置是安全的,可以直接使用。
預設設定是安全的,可以直接使用。
```bash
./act_runner generate-config > config.yaml
./act_runner --config config.yaml [command]
```
您亦可以如下使用 docker 建立配置文件:
您亦可以如下使用 docker 建立設定文件:
```bash
docker run --entrypoint="" --rm -it docker.io/gitea/act_runner:latest act_runner generate-config > config.yaml
```
使用Docker镜像时,可以使用`CONFIG_FILE`环境变量指定配置文件。确保将文件作為卷挂载到容器中:
使用Docker鏡像時,可以使用`CONFIG_FILE`環境變量指定設定文件。確保將文件作為卷掛載到容器中:
```bash
docker run -v $(pwd)/config.yaml:/config.yaml -e CONFIG_FILE=/config.yaml ...
```
您可能注意到上面的命令都是不完整的,因為現在還不是行Act Runner的候。
行Act Runner之前需要首先将其注册到您的Gitea例中。
您可能注意到上面的命令都是不完整的,因為現在還不是行Act Runner的候。
行Act Runner之前需要首先將其註冊到您的Gitea例中。
## 注册
## 註冊
行Act Runner之前需要進行注册因為Runner需要知道从哪里获取Job並且對於Gitea实例来说,识别Runner也很重要。
行Act Runner之前需要進行註冊因為Runner需要知道從哪裏獲取Job並且對於Gitea實例來說,識別Runner也很重要。
### Runner级别
### Runner級別
您可以在不同级别上注册Runner它可以是
您可以在不同級別上註冊Runner它可以是
- 实例级别Runner将為实例中的所有存儲库运行Job。
- 組織级别Runner為組織中的所有存儲库运行Job。
- 存儲库级别Runner為其所属的存儲库运行Job。
- 實例級別Runner將為實例中的所有儲存庫運行Job。
- 組織級別Runner為組織中的所有儲存庫運行Job。
- 儲存庫級別Runner為其所屬的儲存庫運行Job。
請注意,即使存儲库具有自己的存儲库级别Runner它仍然可以使用实例级别或組織级别Runner。未的版本可能提供更多此進行更好控制的選
請注意,即使儲存庫具有自己的儲存庫級別Runner它仍然可以使用實例級別或組織級別Runner。未的版本可能提供更多此進行更好控制的選
### 获取注册令牌
### 獲取註冊令牌
Runner级别决定了从哪里获取注册令牌。
Runner級別決定了從哪裏獲取註冊令牌。
- 实例级别:管理员设置页面,例如 `<your_gitea.com>/admin/actions/runners`
- 組織级别:組織设置页面,例如 `<your_gitea.com>/<org>/settings/actions/runners`
- 存儲库级别:存儲库设置页面,例如 `<your_gitea.com>/<owner>/<repo>/settings/actions/runners`
- 實例級別:管理員設定頁面,例如 `<your_gitea.com>/admin/actions/runners`
- 組織級別:組織設定頁面,例如 `<your_gitea.com>/<org>/settings/actions/runners`
- 儲存庫級別:儲存庫設定頁面,例如 `<your_gitea.com>/<owner>/<repo>/settings/actions/runners`
如果您無法看到设置页面,請保您具有正确的权限並且已用 Actions。
如果您無法看到設定頁面,請保您具有正確的權限並且已用 Actions。
注册令牌的格式是一个随机字符串 `D0gvfu2iHfUjNqCYVljVyRV14fISpJxxxxxxxxxx`
註冊令牌的格式是一個隨機字符串 `D0gvfu2iHfUjNqCYVljVyRV14fISpJxxxxxxxxxx`
注册令牌也可以過 Gitea 的 [命令行](../../administration/command-line.md#actions-generate-runner-token) 得:
註冊令牌也可以過 Gitea 的 [命令行](/administration/command-line#actions-generate-runner-token) 得:
```
gitea --config /etc/gitea/app.ini actions generate-runner-token
```
使用者也可以使用 `GITEA_RUNNER_REGISTRATION_TOKEN``GITEA_RUNNER_REGISTRATION_TOKEN_FILE` 环境变量以在 Gitea 启动时设置全局的注册令牌,例如:
使用者也可以使用 `GITEA_RUNNER_REGISTRATION_TOKEN``GITEA_RUNNER_REGISTRATION_TOKEN_FILE` 環境變量以在 Gitea 啟動時設定全域的註冊令牌,例如:
```
openssl rand -hex 24 > /some-dir/runner-token
@@ -118,48 +118,48 @@ export GITEA_RUNNER_REGISTRATION_TOKEN_FILE=/some-dir/runner-token
./gitea --config ...
```
来自环境变量的令牌在通過 Web 面或 API 重置(重新建立新令牌)前一直有效。
來自環境變量的令牌在通過 Web 面或 API 重置(重新建立新令牌)前一直有效。
令牌可用于注册多个 Runner直到使用 Web 面中的令牌重置链接将其撤並替為新令牌。
令牌可用於註冊多個 Runner直到使用 Web 面中的令牌重置鏈接將其撤並替為新令牌。
### 注册Runner
### 註冊Runner
可以通過运行以下命令来注册Act Runner
可以透過運行以下命令來註冊Act Runner
```bash
./act_runner register
```
或者,您可以使用 `--config`项来指定前面部分提到的配置文件。
或者,您可以使用 `--config`項來指定前面部分提到的設定文件。
```bash
./act_runner --config config.yaml register
```
逐步输入注册信息,包括:
逐步輸入註冊資訊,包括:
- Gitea 例的 URL例如 `https://gitea.com/``http://192.168.8.8:3000/`
- 注册令牌。
- Runner名稱可選。如果留空使用主名。
- Runner標籤可選。如果留空使用默认標籤。
- Gitea 例的 URL例如 `https://gitea.com/``http://192.168.8.8:3000/`
- 註冊令牌。
- Runner名稱可選。如果留空使用主名。
- Runner標籤可選。如果留空使用預設標籤。
您可能Runner標籤感到困惑后将对其進行解
您可能Runner標籤感到困惑後將對其進行解
如果您想以非交互方式注册Runner可以使用參數執行以下操作。
如果您想以非交互方式註冊Runner可以使用參數執行以下操作。
```bash
./act_runner register --no-interactive --instance <instance_url> --token <registration_token> --name <runner_name> --labels <runner_labels>
```
注册Runner,您可以在前目錄中找到一名為 `.runner` 的新文件。該文件存儲注册信息
請不要手动编辑該文件。
如果此文件失或损坏,可以直接除它並重新注册
註冊Runner,您可以在前目錄中找到一名為 `.runner` 的新文件。該文件儲存註冊資訊
請不要手動編輯該文件。
如果此文件失或損壞,可以直接除它並重新註冊
如果您想将注册信息存儲在其他位置,請在配置文件中指定,並不要忘指定 `--config`
如果您想將註冊資訊儲存在其他位置,請在設定文件中指定,並不要忘指定 `--config`
### 使用Docker注册Runner
### 使用Docker註冊Runner
如果您使用的是Docker像,注册行為略有不同。在这种情况下,注册和运行合為一步,因此您需要在行Act Runner指定注册信息
如果您使用的是Docker像,註冊行為略有不同。在這種情況下,註冊和運行合為一步,因此您需要在行Act Runner指定註冊資訊
```bash
docker run \
@@ -175,12 +175,12 @@ docker run \
-d gitea/act_runner:nightly
```
您可能注意到我们已将`/var/run/docker.sock`挂载到容器中。
是因為Act Runner在Docker容器中行Job因此它需要Docker守進程進行通信。
如前所述,如果要在主上直接行Job可以其移除。
需要明的是,这里的 "主" 实际上指的是当前运行 Act Runner的容器而不是主机机器本身。
您可能注意到我們已將`/var/run/docker.sock`掛載到容器中。
是因為Act Runner在Docker容器中行Job因此它需要Docker守進程進行通信。
如前所述,如果要在主上直接行Job可以其移除。
需要明的是,這裏的 "主" 實際上指的是當前運行 Act Runner的容器而不是主機機器本身。
### 使用 Docker compose 行 Runner
### 使用 Docker compose 行 Runner
您亦可使用如下的 `docker-compose.yml`:
@@ -201,31 +201,31 @@ services:
- /var/run/docker.sock:/var/run/docker.sock
```
### 您使用 Docker 镜像启动 Runner如何配置 Cache
### 您使用 Docker 鏡像啟動 Runner如何設定 Cache
如果你不打算在工作流中使用 `actions/cache`,你可以忽略本段。
如果您在使用 `actions/cache` 时没有進行外的配置,将会返回以下错误信息
如果您在使用 `actions/cache` 時沒有進行外的設定,將會返回以下錯誤資訊
> Failed to restore: getCacheEntry failed: connect ETIMEDOUT IP:PORT
这个错误的原因是 runner 容器和作容器位不同的网络中,因此作容器無法访问 runner 容器。
因此,配置 cache 作以保其正常行是非常重要的。請按照以下步操作:
這個錯誤的原因是 runner 容器和作容器位不同的網路中,因此作容器無法訪問 runner 容器。
因此,設定 cache 作以保其正常行是非常重要的。請按照以下步操作:
- 1.取 Runner 容器所在主的 LAN本地局域 IP 地址。
- 2.取一 Runner 容器所在主的空端口
- 3.在配置文件中如下配置
- 1.取 Runner 容器所在主的 LAN本地局域 IP 地址。
- 2.取一 Runner 容器所在主的空端口
- 3.在設定文件中如下設定
```yaml
cache:
enabled: true
dir: ""
# 使用步 1. 取的 LAN IP
# 使用步 1. 取的 LAN IP
host: "192.168.8.17"
# 使用步 2. 取的端口
# 使用步 2. 取的端口
port: 8088
```
- 4.启动容器, Cache 端口映射至主
- 4.啟動容器, Cache 端口映射至主
```bash
docker run \
@@ -236,25 +236,25 @@ docker run \
### 標籤
Runner的標籤用于确定Runner可以行哪些Job以及如何行它
Runner的標籤用於確定Runner可以行哪些Job以及如何行它
默认標籤為`ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster`
是逗分隔的列表,每个项目都是一標籤。
預設標籤為`ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster`
是逗分隔的列表,每個專案都是一標籤。
让我们`ubuntu-22.04:docker://node:16-bullseye` 為例。
它意味着Runner可以运行带`runs-on: ubuntu-22.04`的Job並且該Job在使用`node:16-bullseye`像的Docker容器中行。
讓我們`ubuntu-22.04:docker://node:16-bullseye` 為例。
它意味着Runner可以運行帶`runs-on: ubuntu-22.04`的Job並且該Job在使用`node:16-bullseye`像的Docker容器中行。
如果默认镜像無法足您的需求,並且您有足的硬碟空可以使用更好、更大的像,您可以其更改為`ubuntu-22.04:docker://<您喜欢的镜像>`
您可以在[act ](https://github.com/nektos/act/blob/master/IMAGES.md)上找到更多有用的像。
如果預設鏡像無法滿足您的需求,並且您有足的硬碟空可以使用更好、更大的像,您可以其更改為`ubuntu-22.04:docker://<您喜歡的鏡像>`
您可以在[act ](https://github.com/nektos/act/blob/master/IMAGES.md)上找到更多有用的像。
如果您想直接在主机上运行Job您可以其更改為`ubuntu-22.04:host`或僅`ubuntu-22.04``:host`是可選的。
然而,我们建议您使用`linux_amd64:host``windows:host`的特殊名稱,以避免用。
如果您想直接在主機上運行Job您可以其更改為`ubuntu-22.04:host`或僅`ubuntu-22.04``:host`是可選的。
然而,我們建議您使用`linux_amd64:host``windows:host`的特殊名稱,以避免用。
Gitea 1.21 始,您可以過修改 runner 的配置文件中的 `container.labels` 更改標籤(如果没有配置文件,請考 [配置教程](#配置)過執行 `./act_runner daemon --config config.yaml` 命令重 runner 之后,这些新定的標籤就生效。
Gitea 1.21 始,您可以過修改 runner 的設定文件中的 `container.labels` 更改標籤(如果沒有設定文件,請考 [設定教學](#設定)過執行 `./act_runner daemon --config config.yaml` 命令重 runner 之後,這些新定的標籤就生效。
##
##
注册完Runner,您可以通過运行以下命令来运行它:
註冊完Runner,您可以透過運行以下命令來運行它:
```bash
./act_runner daemon
@@ -262,6 +262,6 @@ Runner的標籤用于确定Runner可以运行哪些Job以及如何运行它们
./act_runner daemon --config config.yaml
```
Runner将从Gitea实例获取Job並自动运行它
Runner將從Gitea實例獲取Job並自動運行它
Act Runner仍处于开发中,建定期查最新版本並進行升
Act Runner仍處於開發中,建定期查最新版本並進行升

View File

@@ -4,122 +4,122 @@ slug: "comparison"
sidebar_position: 15
---
# GitHub Actions的
# GitHub Actions的
管Gitea Actions旨在GitHub Actions容,但它们之间存在一些差
管Gitea Actions旨在GitHub Actions容,但它們之間存在一些差
## 外功能
## 外功能
### Action URL绝对路径
### Action URL絕對路徑
Gitea Actions支通過URL绝对路径定义actions意味着您可以使用自任何Git存儲库的Actions。
Gitea Actions支通過URL絕對路徑定義actions意味着您可以使用自任何Git儲存庫的Actions。
例如,`uses: https://github.com/actions/checkout@v4``uses: http://your_gitea.com/owner/repo@branch`
### 使用Go编写Actions
### 使用Go編寫Actions
Gitea Actions支使用Go编写Actions。
参阅[建立Go Actions](https://blog.gitea.com/creating-go-actions/)。
Gitea Actions支使用Go編寫Actions。
參閱[建立Go Actions](https://blog.gitea.com/creating-go-actions/)。
### 支持非标准的调度语法 @yearly, @monthly, @weekly, @daily, @hourly
### 支援非標準的調度語法 @yearly, @monthly, @weekly, @daily, @hourly
Github Actions 不支持这些语法,详见 https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
Github Actions 不支援這些語法,詳見 https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
## 不支的工作流
## 不支的工作流
### `concurrency`
是用一次行一Job。
参阅[使用並](https://docs.github.com/zh/actions/using-jobs/using-concurrency)。
是用一次行一Job。
參閱[使用並](https://docs.github.com/zh/actions/using-jobs/using-concurrency)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### `run-name`
是工作流生成的工作流行的名稱。
参阅[GitHub Actions 的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#run-name)。
是工作流生成的工作流行的名稱。
參閱[GitHub Actions 的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#run-name)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### `permissions`和`jobs.<job_id>.permissions`
参阅[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#permissions)。
參閱[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#permissions)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### `jobs.<job_id>.timeout-minutes`
参阅[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes)。
參閱[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### `jobs.<job_id>.continue-on-error`
参阅[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error)。
參閱[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### `jobs.<job_id>.environment`
参阅[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idenvironment)。
參閱[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idenvironment)。
Gitea Actions 目前不支此功能。
Gitea Actions 目前不支此功能。
### 复杂的`runs-on`
### 複雜的`runs-on`
参阅[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on)。
參閱[GitHub Actions的工作流](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on)。
Gitea Actions目前只支`runs-on: xyz``runs-on: [xyz]`
Gitea Actions目前只支`runs-on: xyz``runs-on: [xyz]`
### `hashFiles`表
### `hashFiles`表
参阅[](https://docs.github.com/en/actions/learn-github-actions/expressions#hashfiles)。
參閱[](https://docs.github.com/en/actions/learn-github-actions/expressions#hashfiles)。
Gitea Actions目前不支此功能,如果使用它,结果将始终為空字符串。
Gitea Actions目前不支此功能,如果使用它,結果將始終為空字符串。
作為解方法,您可以使用[go-hashfiles](https://gitea.com/actions/go-hashfiles)。
作為解方法,您可以使用[go-hashfiles](https://gitea.com/actions/go-hashfiles)。
## 缺失的功能
### 问题匹配器
### 問題匹配器
问题匹配器是一掃描Actions出以查找指定正则表达式模式並在使用者面中突出示該信息的方法。
参阅[问题匹配器](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md)。
問題匹配器是一掃描Actions出以查找指定正則表達式模式並在使用者面中突出示該資訊的方法。
參閱[問題匹配器](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### 為错误建立注释
### 為錯誤建立註釋
参阅[错误建立注释](https://docs.github.com/zh/actions/using-workflows/workflow-commands-for-github-actions#example-creating-an-annotation-for-an-error)。
參閱[錯誤建立註釋](https://docs.github.com/zh/actions/using-workflows/workflow-commands-for-github-actions#example-creating-an-annotation-for-an-error)。
Gitea Actions目前不支此功能。
Gitea Actions目前不支此功能。
### 表
### 表
對於 [](https://docs.github.com/en/actions/learn-github-actions/expressions), 前僅 [`always()`](https://docs.github.com/en/actions/learn-github-actions/expressions#always) 被支
對於 [](https://docs.github.com/en/actions/learn-github-actions/expressions), 前僅 [`always()`](https://docs.github.com/en/actions/learn-github-actions/expressions#always) 被支
## 缺失的UI功能
### 预处理和后处理步
### 預處理和後處理步
预处理和后处理步在Job日使用者面中有自己的使用者面。
預處理和後處理步在Job日使用者面中有自己的使用者面。
### 服务步骤
### 服務步驟
务步骤在Job日使用者面中有自己的使用者面。
務步驟在Job日使用者面中有自己的使用者面。
## 不一的行為
## 不一的行為
### 下Actions
### 下Actions
`[actions].DEFAULT_ACTIONS_URL` 保持默认值為 `github` Gitea将会从 https://github.com 下载相对路径的actions。比如
如果你使用 `uses: actions/checkout@v4`Gitea将会从 https://github.com/actions/checkout.git 下载这个 actions 项目
如果你想要另外一 Git服务下载actions你只需要使用绝对URL `uses: https://gitea.com/actions/checkout@v4` 来下载
`[actions].DEFAULT_ACTIONS_URL` 保持預設值為 `github` Gitea將會從 https://github.com 下載相對路徑的actions。比如
如果你使用 `uses: actions/checkout@v4`Gitea將會從 https://github.com/actions/checkout.git 下載這個 actions 專案
如果你想要另外一 Git服務下載actions你只需要使用絕對URL `uses: https://gitea.com/actions/checkout@v4` 來下載
如果你的 Gitea 例是部署在一个互联网限制的网络中,也可以使用绝对地址来下载 actions。你也可以将配置项修改為 `[actions].DEFAULT_ACTIONS_URL = self`这样所有的相对路径的actions引用不再会从 github.com 去下,而会从这个 Gitea 例自己的存放庫中去下。例如: `uses: actions/checkout@v4` 将会从 `[server].ROOT_URL`/actions/checkout.git 这个地址去下 actions。
如果你的 Gitea 例是部署在一個互聯網限制的網路中,也可以使用絕對地址來下載 actions。你也可以將設定項修改為 `[actions].DEFAULT_ACTIONS_URL = self`這樣所有的相對路徑的actions引用不再會從 github.com 去下,而會從這個 Gitea 例自己的存放庫中去下。例如: `uses: actions/checkout@v4` 將會從 `[server].ROOT_URL`/actions/checkout.git 這個地址去下 actions。
设置`[actions].DEFAULT_ACTIONS_URL`進行配置。請参阅[配置备忘單](../../administration/config-cheat-sheet.md#actions-actions)。
設定`[actions].DEFAULT_ACTIONS_URL`進行設定。請參閱[設定備忘單](../../administration/config-cheat-sheet.md#actions-actions)。
### 上下文可用性
查上下文可用性因此您可以在更多地方使用env上下文。
参阅[上下文可用性](https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability)。
查上下文可用性因此您可以在更多地方使用env上下文。
參閱[上下文可用性](https://docs.github.com/en/actions/learn-github-actions/contexts#context-availability)。

View File

@@ -4,121 +4,121 @@ slug: "design"
sidebar_position: 40
---
# Gitea Actions设计
# Gitea Actions設計
Gitea Actions由多个组件组成。本文檔将对它们進行逐描述。
Gitea Actions由多個元件組成。本文件將對它們進行逐描述。
## Act
[nektos/act](https://github.com/nektos/act) 项目是一个优秀的工具,允你在本地行GitHub Actions。
受到了它的启发並思考它是否可能為Gitea行Actions。
[nektos/act](https://github.com/nektos/act) 專案是一個優秀的工具,允你在本地行GitHub Actions。
受到了它的啟發並思考它是否可能為Gitea行Actions。
然而,管[nektos/act](https://github.com/nektos/act)被设计為一命令行工具,但我们实际上需要的是一个专為Gitea修改的Go
因此,我在[gitea/act](https://gitea.com/gitea/act)基上進行了分叉。
然而,管[nektos/act](https://github.com/nektos/act)被設計為一命令行工具,但我們實際上需要的是一個專為Gitea修改的Go
因此,我在[gitea/act](https://gitea.com/gitea/act)基上進行了分叉。
是一个软分叉,定期跟進上游。
然添加了一些自定义提交,但我们会尽力避免原始代码進行太多更改。
是一個軟分叉,定期跟進上游。
然添加了一些自提交,但我們會盡力避免原始程式碼進行太多更改。
分叉的 act 只是Gitea特定用途的接或配器。
還添加了一些外的提交,例如:
分叉的 act 只是Gitea特定用途的接或配器。
還添加了一些外的提交,例如:
- 執行日志输出到日志记录器钩子,以便报告给Gitea
- 禁用 GraphQL URL因為Gitea不支
-Job启动一个新的容器,而不是重使用,以保隔性。
- 執行日誌輸出到日誌記錄器鉤子,以便報告給Gitea
- 禁用 GraphQL URL因為Gitea不支
-Job啟動一個新的容器,而不是重使用,以保隔性。
些修改有理由合到上游。
如果使用者只想在本地行可信的Actions们是没有意的。
些修改有理由合到上游。
如果使用者只想在本地行可信的Actions們是沒有意的。
然而,将来可能出現重,例如两个项目都需要的必要错误修复或新功能。
些情下,我们将向上存放庫贡献变更。
然而,將來可能出現重,例如兩個專案都需要的必要錯誤修復或新功能。
些情下,我們將向上存放庫貢獻變更。
## act runner
Gitea的Runner被稱為act runner因為它基act。
Gitea的Runner被稱為act runner因為它基act。
其他CIRunner一,我们将其设计為Gitea的外部部分意味着它應該在Gitea不同的服器上行。
其他CIRunner一,我們將其設計為Gitea的外部部分意味着它應該在Gitea不同的服器上行。
為了保Runner接到正的Gitea例,我需要使用令牌注册它。
此外Runner通過明自己的標籤向Gitea告它可以行的Job類型。
為了保Runner接到正的Gitea例,我需要使用令牌註冊它。
此外Runner通過明自己的標籤向Gitea告它可以行的Job類型。
之前,我提到工作流文件中的 `runs-on: ubuntu-latest` 表示該Job在具有`ubuntu-latest`標籤的Runner上行。
但是Runner如何知道要`ubuntu-latest`?答案在于将標籤映射到境。
就是為什么在注册過程中添加自定义標籤,需要入一些复杂内容,比如`my_custom_label:docker://centos:7`
意味着Runner可以接受需要在`my_custom_label`行的Job並通過使用`centos:7`像的Docker容器来运行它。
之前,我提到工作流文件中的 `runs-on: ubuntu-latest` 表示該Job在具有`ubuntu-latest`標籤的Runner上行。
但是Runner如何知道要`ubuntu-latest`?答案在於將標籤映射到境。
就是為什麼在註冊過程中添加自標籤,需要入一些複雜內容,比如`my_custom_label:docker://centos:7`
意味着Runner可以接受需要在`my_custom_label`行的Job並通過使用`centos:7`像的Docker容器來運行它。
然而Docker不是唯一的選
act 也支直接在主机上运行Job。
是通過像`linux_arm:host`这样的標籤現的。
这个標籤表示Runner可以接受需要在`linux_arm`行的Job並直接在主机上运行它
然而Docker不是唯一的選
act 也支直接在主機上運行Job。
是通過像`linux_arm:host`這樣的標籤現的。
這個標籤表示Runner可以接受需要在`linux_arm`行的Job並直接在主機上運行它
標籤的设计遵循格式`label[:schema[:args]]`
如果省略了schema则默认`host`
標籤的設計遵循格式`label[:schema[:args]]`
如果省略了schema則預設`host`
因此,
- `my_custom_label:docker://node:18`:使用`node:18 Docker`镜像运行带`my_custom_label`標籤的Job。
- `my_custom_label:host`:在主上直接运行带`my_custom_label`標籤的Job。
- `my_custom_label`:等同`my_custom_label:host`
- `my_custom_label:vm:ubuntu-latest`:(僅為例,未現)使用`ubuntu-latest` ISO的虚拟机运行带`my_custom_label`標籤的Job。
- `my_custom_label:docker://node:18`:使用`node:18 Docker`鏡像運行帶`my_custom_label`標籤的Job。
- `my_custom_label:host`:在主上直接運行帶`my_custom_label`標籤的Job。
- `my_custom_label`:等同`my_custom_label:host`
- `my_custom_label:vm:ubuntu-latest`:(僅為例,未現)使用`ubuntu-latest` ISO的虛擬機運行帶`my_custom_label`標籤的Job。
## 通信协议
## 通信協議
act runner是Gitea的立部分,我需要一种协议让RunnerGitea例進行通信。
然而,我们不认為让Gitea监听一个新端口是好主意。
相反,我希望重用HTTP端口意味着我需要一个与HTTP容的协议
因此,我们選择使用基HTTP的gRPC。
act runner是Gitea的立部分,我需要一種協議讓RunnerGitea例進行通信。
然而,我們不認為讓Gitea監聽一個新端口是好主意。
相反,我希望重用HTTP端口意味着我需要一個與HTTP容的協議
因此,我們選擇使用基HTTP的gRPC。
使用[actions-proto-def](https://gitea.com/gitea/actions-proto-def) 和 [actions-proto-go](https://gitea.com/gitea/actions-proto-go) 進行接。
gRPC 的更多信息,請访问[其官方](https://grpc.io/)。
使用[actions-proto-def](https://gitea.com/gitea/actions-proto-def) 和 [actions-proto-go](https://gitea.com/gitea/actions-proto-go) 進行接。
gRPC 的更多資訊,請前往[其官方](https://grpc.io/)。
## 网络架构
## 網路架構
让我们来看一下整體的网络架构
这将帮助您解一些问题,並解為什使用回环地址注册Runner是不好的主意。
讓我們來看一下整體的網路架構
這將幫助您解一些問題,並解為什使用迴環地址註冊Runner是不好的主意。
![network](/images/usage/actions/network.png)
片中标记了四个网络连接,並且箭的方向表示建立接的方向。
片中標記了四個網路連接,並且箭的方向表示建立接的方向。
### 接 1act runner到Gitea
### 接 1act runner到Gitea
act runner 必須能够连接到Gitea以接收任务並发送執行果回
act runner 必須能夠連接到Gitea以接收任務並發送執行果回
### 接 2Job容器到Gitea
### 接 2Job容器到Gitea
即使Job容器位同一台机器上,它们的网络命名空间与Runner不同。
举个例子,如果工作流中包含 `actions/checkout@v4`Job容器需要接到Gitea来获取代码
获取代码並不总是运行某些Job所必需的但在大多数情况下是必需的。
即使Job容器位同一臺機器上,它們的網路命名空間與Runner不同。
舉個例子,如果工作流中包含 `actions/checkout@v4`Job容器需要接到Gitea來獲取程式碼
獲取程式碼並不總是運行某些Job所必需的但在大多數情況下是必需的。
如果您使用回环地址注册RunnerRunnerGitea在同一台机器上Runner可以接到Gitea。
然而如果Job容器尝试从本地主机获取代码,它将失败因為Gitea不在同一容器中。
如果您使用迴環地址註冊RunnerRunnerGitea在同一臺機器上Runner可以接到Gitea。
然而如果Job容器嘗試從本地主機獲取程式碼,它將失敗因為Gitea不在同一容器中。
### 接 3act runner到互联网
### 接 3act runner到互聯網
您使用`actions/checkout@v4` 的一些Actionsact runner下的是而不是Job容器。
默认情况下,它[github.com](http://github.com/)下,因此需要访问互联网。如果您设置的是 self
么默认将从您的前Gitea例下,那此步不需要接到互联网
它還默认从Docker Hub下一些Docker像,也需要互联网访问
您使用`actions/checkout@v4` 的一些Actionsact runner下的是而不是Job容器。
預設情況下,它[github.com](http://github.com/)下,因此需要訪問互聯網。如果您設定的是 self
麼預設將從您的前Gitea例下,那此步不需要接到互聯網
它還預設從Docker Hub下一些Docker像,也需要互聯網訪問
然而,互联网访问並不是绝对必需的。
您可以配置您的Gitea实例从您的内部网络设施中取 Actions 或像。
然而,互聯網訪問並不是絕對必需的。
您可以設定您的Gitea實例從您的內部網路設施中取 Actions 或像。
实际您的Gitea例可以同时充当 Actions 市场和镜像註冊表。
您可以GitHub上的Actions存放庫像到您的Gitea例,並其用作普通Actions。
而 [Gitea 容器註冊表](usage/packages/container.md) 可用作Docker像註冊表。
實際您的Gitea例可以同時充當 Actions 市場和鏡像註冊表。
您可以GitHub上的Actions存放庫像到您的Gitea例,並其用作普通Actions。
而 [Gitea 容器註冊表](usage/packages/container.md) 可用作Docker像註冊表。
### 接 4Job容器到互联网
### 接 4Job容器到互聯網
使用`actions/setup-go@v5`的Actions,可能需要从互联网下载资源,以设置Job容器中的Go语言环境。
因此,成功完成些Actions需要访问互联网
使用`actions/setup-go@v5`的Actions,可能需要從互聯網下載資源,以設定Job容器中的Go語言環境。
因此,成功完成些Actions需要訪問互聯網
然而,也是可選的。
您可以使用自定义的Actions避免依赖互联网访问,或者可以使用已安裝所有依赖项的打包的Docker镜像来运行Job。
然而,也是可選的。
您可以使用自的Actions避免依賴互聯網訪問,或者可以使用已安裝所有依賴項的打包的Docker鏡像來運行Job。
## 总结
## 總結
使用Gitea Actions只需要保Runner能够连接到Gitea例。
联网访问是可選的,但如果有互联网访问,将需要外的工作。
换句话说:当Runner能自行查询互联网时,它的工作效果最好,但您不需要其暴露给互联网(無是單向還是向)。
使用Gitea Actions只需要保Runner能夠連接到Gitea例。
聯網訪問是可選的,但如果有互聯網訪問,將需要外的工作。
換句話說:當Runner能自行查詢互聯網時,它的工作效果最好,但您不需要其暴露給互聯網(無是單向還是向)。
如果您在使用Gitea Actions遇到任何网络问题,希望上面的片能够帮助您進行故障排除。
如果您在使用Gitea Actions遇到任何網路問題,希望上面的片能夠幫助您進行故障排除。

View File

@@ -4,84 +4,84 @@ slug: "faq"
sidebar_position: 100
---
# Gitea Actions常见问题解答
# Gitea Actions常見問題解答
面包含一些关于Gitea Actions的常见问题和答案。
面包含一些關於Gitea Actions的常見問題和答案。
## 是否可以在我的例中默认禁用新存放庫的Actions
## 是否可以在我的例中預設禁用新存放庫的Actions
是的,您為实例启用Actions,您可以選择默认启用actions單元以适用于所有新存放庫。
是的,您為實例啟用Actions,您可以選擇預設啟用actions單元以適用於所有新存放庫。
```ini
[repository]
; 去掉 repo.actions 将不会為新存放庫自动启用actions
; 去掉 repo.actions 將不會為新存放庫自動啓用actions
DEFAULT_REPO_UNITS = ...,repo.actions
```
## 在工作流文件中應該使用`${{ github.xyz }}`還是`${{ gitea.xyz }}`
您可以使用`github.xyz`Gitea正常工作。
如前所述Gitea Actions的设计是与GitHub Actions容的。
然而,我们建议在工作流文件中使用`gitea.xyz`,以防止在工作流文件中出現不同類型的密因為您在Gitea上使用此工作流而不是GitHub
不過,完全是可選的,因為目前这两个選项的效果是相同的。
您可以使用`github.xyz`Gitea正常工作。
如前所述Gitea Actions的設計是與GitHub Actions容的。
然而,我們建議在工作流文件中使用`gitea.xyz`,以防止在工作流文件中出現不同類型的密因為您在Gitea上使用此工作流而不是GitHub
不過,完全是可選的,因為目前這兩個選項的效果是相同的。
## 使用`actions/checkout@v4`等ActionsJob容器会从何处下载脚本?
## 使用`actions/checkout@v4`等ActionsJob容器會從何處下載腳本?
GitHub 上有成千上万个 [Actions ](https://github.com/marketplace?type=actions)。
当您编写 `uses: actions/checkout@v4` ,它默认会从 [github.com/actions/checkout](https://github.com/actions/checkout) 下载脚本。
那如果您想使用一些管在其它平台上的本呢,比如在 gitea.com 上的?
GitHub 上有成千上萬個 [Actions ](https://github.com/marketplace?type=actions)。
當您編寫 `uses: actions/checkout@v4` ,它預設會從 [github.com/actions/checkout](https://github.com/actions/checkout) 下載腳本。
那如果您想使用一些管在其它平台上的本呢,比如在 gitea.com 上的?
好消息是,您可以指定要任何位置使用Actions的URL前
是Gitea Actions中的额外语法。
好消息是,您可以指定要任何位置使用Actions的URL前
是Gitea Actions中的額外語法。
例如:
- `uses: https://gitea.com/xxx/xxx@xxx`
- `uses: https://github.com/xxx/xxx@xxx`
- `uses: http://your_gitea_instance.com/xxx@xxx`
注意,`https://``http://`是必需的!
注意,`https://``http://`是必需的!
这是与 GitHub Actions 的一个区别GitHub Actions 只允使用管在 GitHub 上的 actions 本。
但使用者理應拥有权利去灵活决定如何行 Actions。
這是與 GitHub Actions 的一個區別GitHub Actions 只允使用管在 GitHub 上的 actions 本。
但使用者理應擁有權利去靈活決定如何行 Actions。
另外,如果您希望您的 Runner 默认从您自己的 Gitea 例下 Actions可以通過设置 `[actions].DEFAULT_ACTIONS_URL`進行配置
参见[配置速查表](../../administration/config-cheat-sheet.md#actions-actions)。
另外,如果您希望您的 Runner 預設從您自己的 Gitea 例下 Actions可以透過設定 `[actions].DEFAULT_ACTIONS_URL`進行設定
參見[設定速查表](../../administration/config-cheat-sheet.md#actions-actions)。
## 如何限制Runner的限?
## 如何限制Runner的限?
Runner僅具有接到您的Gitea例的限。
任何Runner接收到要行的Job,它将临时获得与Job关联的存放庫的有限限。
如果您想為Runner提供更多限,允许它访问更多私有存放庫或外部系,您可以向其传递[](usage/actions/secrets.md)。
Runner僅具有接到您的Gitea例的限。
任何Runner接收到要行的Job,它將臨時獲得與Job關聯的存放庫的有限限。
如果您想為Runner提供更多限,允許它訪問更多私有存放庫或外部系,您可以向其傳遞[](usage/actions/secrets.md)。
對於 Actions 的粒度限控制是一项复杂的工作。
在未,我们将添加更多選以使Gitea更可配置,例如允许对存放庫進行更多写访问或对同一組織中的所有存放庫進行读访问
對於 Actions 的粒度限控制是一項複雜的工作。
在未,我們將添加更多選以使Gitea更可設定,例如允許對存放庫進行更多寫訪問或對同一組織中的所有存放庫進行讀訪問
## 如何避免被黑客攻擊?
两种可能的攻擊類型未知的Runner取您的存放庫中的代码或密,或恶意脚本控制您的Runner。
兩種可能的攻擊類型未知的Runner取您的存放庫中的程式碼或密,或惡意腳本控制您的Runner。
避免前者意味着不允您不认识的人為您的存放庫、組織或实例注册Runner。
避免前者意味着不允您不認識的人為您的存放庫、組織或實例註冊Runner。
者要复杂一些。
如果您為公司使用私有的Gitea例,您可能不需要心安全问题,因為您信任您的同事,並且可以追究他们的责任。
者要複雜一些。
如果您為公司使用私有的Gitea例,您可能不需要心安全問題,因為您信任您的同事,並且可以追究他們的責任。
對於公共例,情略有不同。
以下是我在 [gitea.com](http://gitea.com/)上的做法:
對於公共例,情略有不同。
以下是我在 [gitea.com](http://gitea.com/)上的做法:
-僅為 "gitea" 組織注册Runner因此我的Runner不執行自其他存放庫的Job。
-的Runner始在隔容器中行Job。然可以直接在主上進行这样的操作,但出安全考,我们選择不这样做。
- 對於 fork 的拉取請求,需要得批准才能行Actions。参见[#22803](https://github.com/go-gitea/gitea/pull/22803)。
- 如果有人在[gitea.com](http://gitea.com/)為其存放庫或組織注册自己的Runner们不会反对,只是不在我的組織中使用它。然而,他應該注意保該Runner不被他们不认识的其他使用者使用。
-僅為 "gitea" 組織註冊Runner因此我的Runner不執行自其他存放庫的Job。
-的Runner始在隔容器中行Job。然可以直接在主上進行這樣的操作,但出安全考,我們選擇不這樣做。
- 對於 fork 的拉取請求,需要得批准才能行Actions。參見[#22803](https://github.com/go-gitea/gitea/pull/22803)。
- 如果有人在[gitea.com](http://gitea.com/)為其存放庫或組織註冊自己的Runner們不會反對,只是不在我的組織中使用它。然而,他應該注意保該Runner不被他們不認識的其他使用者使用。
## act runner支哪些操作系
## act runner支哪些操作系
它在Linux、macOS和Windows上行良好。
然理上支其他操作系,但需要進一步测试
它在Linux、macOS和Windows上行良好。
然理上支其他操作系,但需要進一步測試
需要注意的一是,如果選直接在主机上运行Job而不是在Job容器中行,操作系统之间的环境差可能会导致意外的失
需要注意的一是,如果選直接在主機上運行Job而不是在Job容器中行,操作系統之間的環境差可能會導致意外的失
例如,在大多数情况Windows上有可用的bash而act尝试默认使用bash运行脚本。
因此,您需要在工作流文件中将默认shell指定為`powershell`考[defaults.run](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#defaultsrun)。
例如,在大多數情況Windows上有可用的bash而act嘗試預設使用bash運行腳本。
因此,您需要在工作流文件中將預設shell指定為`powershell`考[defaults.run](https://docs.github.com/zh/actions/using-workflows/workflow-syntax-for-github-actions#defaultsrun)。
```yaml
defaults:
@@ -89,72 +89,72 @@ defaults:
shell: powershell
```
## 為什么選择GitHub Actions為什不選择与GitLab CI/CD容的工具?
## 為什麼選擇GitHub Actions為什不選擇與GitLab CI/CD容的工具?
[@lunny](https://gitea.com/lunny)在現Actions的[问题](https://github.com/go-gitea/gitea/issues/13539)中已经解释過这个问题
此外Actions不僅是一CI/CD 系,還是一个自动化工具。
[@lunny](https://gitea.com/lunny)在現Actions的[問題](https://github.com/go-gitea/gitea/issues/13539)中已經解釋過這個問題
此外Actions不僅是一CI/CD 系,還是一個自動化工具。
源世界中,已经有许多[上的Actions](https://github.com/marketplace?type=actions)現了。
重用它是令人兴奋的。
源世界中,已經有許多[上的Actions](https://github.com/marketplace?type=actions)現了。
重用它是令人興奮的。
## 如果它在多標籤上行,例如 `runs-on: [label_a, label_b]`会发生什
## 如果它在多標籤上行,例如 `runs-on: [label_a, label_b]`會發生什
是有效的法。
它意味着它應該在具有`label_a` **和** `label_b`標籤的Runner上行,考[GitHub Actions的工作流](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on)。
不幸的是act runner 並不支持这种方式。
如上所述,我们将標籤映射到境:
是有效的法。
它意味着它應該在具有`label_a` **和** `label_b`標籤的Runner上行,考[GitHub Actions的工作流](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on)。
不幸的是act runner 並不支援這種方式。
如上所述,我們將標籤映射到境:
- `ubuntu``ubuntu:22.04`
- `centos``centos:8`
但我需要標籤映射到境,例如:
但我需要標籤映射到境,例如:
- `[ubuntu]``ubuntu:22.04`
- `[with-gpu]``linux:with-gpu`
- `[ubuntu, with-gpu]``ubuntu:22.04_with-gpu`
還需要重新设计任务分配Runner的方式。
還需要重新設計任務分配Runner的方式。
具有`ubuntu``centos``with-gpu`的Runner並不一定表示它可以接受`[centos, with-gpu]`的Job。
因此Runner應該通知Gitea例它只能接受具有 `[ubuntu]``[centos]``[with-gpu]``[ubuntu, with-gpu]`的Job。
不是一个技术问题,只是在早期设计中被忽了。
参见[runtime.go#L65](https://gitea.com/gitea/act_runner/src/commit/90b8cc6a7a48f45cc28b5ef9660ebf4061fcb336/runtime/runtime.go#L65)。
因此Runner應該通知Gitea例它只能接受具有 `[ubuntu]``[centos]``[with-gpu]``[ubuntu, with-gpu]`的Job。
不是一個技術問題,只是在早期設計中被忽了。
參見[runtime.go#L65](https://gitea.com/gitea/act_runner/src/commit/90b8cc6a7a48f45cc28b5ef9660ebf4061fcb336/runtime/runtime.go#L65)。
目前act runner尝试匹配標籤中的每一,並使用找到的第一匹配
目前act runner嘗試匹配標籤中的每一,並使用找到的第一匹配
## 代理標籤和自定义標籤對於Runner有什么区别
## 代理標籤和自標籤對於Runner有什麼區別
![labels](/images/usage/actions/labels.png)
代理標籤是由Runner在注册過程中向Gitea实例报告的。
而自定义標籤是由Gitea的管理或組織或存放庫的所有者手添加的(取决于Runner所属的级别)。
代理標籤是由Runner在註冊過程中向Gitea實例報告的。
而自標籤是由Gitea的管理或組織或存放庫的所有者手添加的(取決於Runner所屬的級別)。
然而,目前方面的设计還有待改進,因為它目前存在一些不完善之
您可以向已注册的Runner添加自定义標籤,比如 `centos`意味着該Runner接收具有`runs-on: centos`的Job。
然而Runner可能不知道要使用哪个环境来執行該標籤,致它使用默认镜像或导致逻辑死胡同
这个默认值可能使用者的期望不符。
参见[runtime.go#L71](https://gitea.com/gitea/act_runner/src/commit/90b8cc6a7a48f45cc28b5ef9660ebf4061fcb336/runtime/runtime.go#L71)。
然而,目前方面的設計還有待改進,因為它目前存在一些不完善之
您可以向已註冊的Runner添加自標籤,比如 `centos`意味着該Runner接收具有`runs-on: centos`的Job。
然而Runner可能不知道要使用哪個環境來執行該標籤,致它使用預設鏡像或導致邏輯死衚衕
這個預設值可能使用者的期望不符。
參見[runtime.go#L71](https://gitea.com/gitea/act_runner/src/commit/90b8cc6a7a48f45cc28b5ef9660ebf4061fcb336/runtime/runtime.go#L71)。
此同如果您想更改Runner的標籤们建议您重新注册Runner。
此同如果您想更改Runner的標籤們建議您重新註冊Runner。
## Gitea Actions runner有更多的实現吗
## Gitea Actions runner有更多的實現嗎
然我希望提供更多的選,但由于我们有限的人力act runner是唯一受支的官方Runner。
然而,無您如何Gitea 和act runner都是完全源的,所以任何人都可以建立一新的/更好的現。
们支持您的選,無您如何定。
如果您選分支act runner建立自己的版本,請在您為您的更改其他人也有助的情况下贡献这些更改。
然我希望提供更多的選,但由於我們有限的人力act runner是唯一受支的官方Runner。
然而,無您如何Gitea 和act runner都是完全源的,所以任何人都可以建立一新的/更好的現。
們支援您的選,無您如何定。
如果您選分支act runner建立自己的版本,請在您為您的更改其他人也有助的情況下貢獻這些更改。
## Gitea 支哪些工作流触发事件?
## Gitea 支哪些工作流觸發事件?
表格中列出的所有事件都是支的,並且 GitHub 容。
對於僅 GitHub 支的事件,請参阅 GitHub 的[](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)。
表格中列出的所有事件都是支的,並且 GitHub 容。
對於僅 GitHub 支的事件,請參閱 GitHub 的[](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)。
| 触发事件 | 活類型 |
| 觸發事件 | 活類型 |
|-----------------------------|--------------------------------------------------------------------------------------------------------------------------|
| create | 不用 |
| delete | 不用 |
| fork | 不用 |
| gollum | 不用 |
| push | 不用 |
| create | 不用 |
| delete | 不用 |
| fork | 不用 |
| gollum | 不用 |
| push | 不用 |
| issues | `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `milestoned`, `demilestoned`, `labeled`, `unlabeled` |
| issue_comment | `created`, `edited`, `deleted` |
| pull_request | `opened`, `edited`, `closed`, `reopened`, `assigned`, `unassigned`, `synchronize`, `labeled`, `unlabeled` |
@@ -163,5 +163,5 @@ defaults:
| release | `published`, `edited` |
| registry_package | `published` |
> 對於 `pull_request` 事件,在 [GitHub Actions](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request) 中 `ref` 是 `refs/pull/:prNumber/merge`,它指向这个拉取請求合提交的一个预览。但是 Gitea 没有这种 reference。
> 因此Gitea Actions 中 `ref` 是 `refs/pull/:prNumber/head`,它指向这个拉取請求的分支而不是合提交的预览
> 對於 `pull_request` 事件,在 [GitHub Actions](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request) 中 `ref` 是 `refs/pull/:prNumber/merge`,它指向這個拉取請求合提交的一個預覽。但是 Gitea 沒有這種 reference。
> 因此Gitea Actions 中 `ref` 是 `refs/pull/:prNumber/head`,它指向這個拉取請求的分支而不是合提交的預覽

View File

@@ -6,37 +6,37 @@ sidebar_position: 1
# Overview
Gitea **1.19**版本Gitea Actions成為了置的CI/CD解方案。
Gitea **1.19**版本Gitea Actions成為了置的CI/CD解方案。
## 名稱
Gitea Actions[GitHub Actions](https://github.com/features/actions)相似且容,它的名稱也受到了它的启发
為了避免混淆,在这里我们明确了拼方式:
Gitea Actions[GitHub Actions](https://github.com/features/actions)相似且容,它的名稱也受到了它的啟發
為了避免混淆,在這裏我們明確了拼方式:
- "Gitea Actions"两个單詞都大写且带有"s"是Gitea功能的名稱。
- "Gitea Actions"兩個單詞都大寫且帶有"s"是Gitea功能的名稱。
- "GitHub Actions"是GitHub功能的名稱。
- "Actions"根上下文的不同可以指代以上任意一。在本文中指代的是"Gitea Actions"。
- "action"或"actions"指代一些要使用的本/插件,比如"actions/checkout@v4"或"actions/cache@v3"。
- "Actions"根上下文的不同可以指代以上任意一。在本文中指代的是"Gitea Actions"。
- "action"或"actions"指代一些要使用的本/外掛,比如"actions/checkout@v4"或"actions/cache@v3"。
## Runner
和其他CI/CD解方案一Gitea不自己行Job而是Job委托给Runner。
Gitea Actions的Runner被稱為[act runner](https://gitea.com/gitea/act_runner),它是一个独立的程也是用Go语言编写的。
它是基[nektos/act](http://github.com/nektos/act)的一[分支](https://gitea.com/gitea/act) 。
和其他CI/CD解方案一Gitea不自己行Job而是Job委託給Runner。
Gitea Actions的Runner被稱為[act runner](https://gitea.com/gitea/act_runner),它是一個獨立的程也是用Go語言編寫的。
它是基[nektos/act](http://github.com/nektos/act)的一[分支](https://gitea.com/gitea/act) 。
Runner是立部署的,可能存在在的安全问题
為了避免这些问题,請遵循两个简單的規則:
Runner是立部署的,可能存在在的安全問題
為了避免這些問題,請遵循兩個簡單的規則:
- 不要為你的存放庫、組織或例使用你不信任的Runner。
- 不要為你不信任的存放庫、組織或例提供Runner。
- 不要為你的存放庫、組織或例使用你不信任的Runner。
- 不要為你不信任的存放庫、組織或例提供Runner。
對於部使用的Gitea例,比如企业或个人使用的例,这两个規則不是问题,它自然而然就是如此。
然而對於公共的Gitea例,比如[gitea.com](https://gitea.com)在添加或使用Runner时應当牢记这两个規則。
對於部使用的Gitea例,比如企業或個人使用的例,這兩個規則不是問題,它自然而然就是如此。
然而對於公共的Gitea例,比如[gitea.com](https://gitea.com)在添加或使用Runner時應當牢記這兩個規則。
## 状态
## 狀態
Gitea Actions仍然在开发中,因此可能存在一些错误和缺失的功能。
並且在定版本v1.20或更高版本)之前可能進行一些重大的更改。
Gitea Actions仍然在開發中,因此可能存在一些錯誤和缺失的功能。
並且在定版本v1.20或更高版本)之前可能進行一些重大的更改。
如果情况发生变化,我们将在此進行更新。
因此,請在其他地方找到過文章时参考此处的内容。
如果情況發生變化,我們將在此進行更新。
因此,請在其他地方找到過文章時參考此處的內容。

View File

@@ -4,91 +4,91 @@ slug: "quickstart"
sidebar_position: 10
---
# 快速入
# 快速入
页面将指导您使用Gitea Actions的過程。
頁面將指導您使用Gitea Actions的過程。
## 设置Gitea
## 設定Gitea
首先,您需要一Gitea例。
您可以按照[](installation/from-package.md) 来设置一个新实例或升現有例。
您如何安裝或行Gitea只要版本是1.19.0或更高即可。
首先,您需要一Gitea例。
您可以按照[](installation/from-package.md) 來設定一個新實例或升現有例。
您如何安裝或行Gitea只要版本是1.19.0或更高即可。
1.21.0始,默认情况Actions是用的。如果您正在使用1.21.0之前的版本,您需要以下容添加到配置文件中以用它:
1.21.0始,預設情況Actions是用的。如果您正在使用1.21.0之前的版本,您需要以下容添加到設定文件中以用它:
```ini
[actions]
ENABLED=true
```
如果您想了解更多信息或在配置過程中遇到任何问题,請考[配置速查表](../../administration/config-cheat-sheet.md#actions-actions)。
如果您想了解更多資訊或在設定過程中遇到任何問題,請考[設定速查表](../../administration/config-cheat-sheet.md#actions-actions)。
### 设置Runner
### 設定Runner
Gitea Actions需要[act runner](https://gitea.com/gitea/act_runner) 来运行Job。
為了避免消耗過多源並影響Gitea例,建您在Gitea例分开的机器上启动Runner。
Gitea Actions需要[act runner](https://gitea.com/gitea/act_runner) 來運行Job。
為了避免消耗過多源並影響Gitea例,建您在Gitea例分開的機器上啟動Runner。
您可以使用[预构建的二進制文件](http://dl.gitea.com/act_runner)或[容器](https://hub.docker.com/r/gitea/act_runner/tags)来设置Runner。
您可以使用[預構建的二進制文件](http://dl.gitea.com/act_runner)或[容器](https://hub.docker.com/r/gitea/act_runner/tags)來設定Runner。
在進一步操作之前,建您先使用预构建的二進制文件以命令行方式行它,以保它您的环境兼容,尤其是如果您在本地主机上运行Runner。
如果出現问题,这样调试起来会更容易。
在進一步操作之前,建您先使用預構建的二進制文件以命令行方式行它,以保它您的環境相容,尤其是如果您在本地主機上運行Runner。
如果出現問題,這樣調試起來會更容易。
該Runner可以在隔的Docker容器中行Job因此您需要保已安裝Docker並且Docker守進程正在行。
虽然这不是格必需的因為Runner也可以直接在主机上运行Job这取决于您的配置方式。
然而,建使用Docker行Job因為它更安全且更易管理。
該Runner可以在隔的Docker容器中行Job因此您需要保已安裝Docker並且Docker守進程正在行。
雖然這不是格必需的因為Runner也可以直接在主機上運行Job這取決於您的設定方式。
然而,建使用Docker行Job因為它更安全且更易管理。
行Runner之前您需要使用以下命令将其注册到Gitea例中:
行Runner之前您需要使用以下命令將其註冊到Gitea例中:
```bash
./act_runner register --no-interactive --instance <instance> --token <token>
```
需要两个必需的參數:`instance``token`
需要兩個必需的參數:`instance``token`
`instance`是您的Gitea例的地址,如`http://192.168.8.8:3000``https://gitea.com`
Runner和Job容器由Runner启动以執行Job将连接到此地址。
意味着它可能与用于Web访问`ROOT_URL`不同。
使用回环地址(例如 `127.0.0.1``localhost`)是一不好的選
如果不定使用哪地址,通常選局域地址即可。
`instance`是您的Gitea例的地址,如`http://192.168.8.8:3000``https://gitea.com`
Runner和Job容器由Runner啟動以執行Job將連接到此地址。
意味着它可能與用於Web訪問`ROOT_URL`不同。
使用迴環地址(例如 `127.0.0.1``localhost`)是一不好的選
如果不定使用哪地址,通常選局域地址即可。
`token`身份驗證和标识,例如 `P2U1U0oB4XaRCi8azcngmPCLbRpUGapalhmddh23`
它只能使用一次,並且不能用于注册多个Runner。
您可以以下位置取不同级别`token`,而建立出相應级别`runner`
`token`身份驗證和標識,例如 `P2U1U0oB4XaRCi8azcngmPCLbRpUGapalhmddh23`
它只能使用一次,並且不能用於註冊多個Runner。
您可以以下位置取不同級別`token`,而建立出相應級別`runner`
- 实例级别:管理员设置页面,例如 `<your_gitea.com>/admin/actions/runners`
- 組織级别:組織设置页面,例如 `<your_gitea.com>/<org>/settings/actions/runners`
- 存儲库级别:存儲库设置页面,例如 `<your_gitea.com>/<owner>/<repo>/settings/actions/runners`
- 實例級別:管理員設定頁面,例如 `<your_gitea.com>/admin/actions/runners`
- 組織級別:組織設定頁面,例如 `<your_gitea.com>/<org>/settings/actions/runners`
- 儲存庫級別:儲存庫設定頁面,例如 `<your_gitea.com>/<owner>/<repo>/settings/actions/runners`
![register runner](/images/usage/actions/register-runner.png)
注册后,当前目錄中出現一名為 `.runner` 的新文件,該文件存儲了注册信息
請不要手动编辑該文件。
如果該文件失或损坏,只需除它然重新注册即可。
註冊後,當前目錄中出現一名為 `.runner` 的新文件,該文件儲存了註冊資訊
請不要手動編輯該文件。
如果該文件失或損壞,只需除它然重新註冊即可。
,是时候启动Runner了
,是時候啟動Runner了
```bash
./act_runner daemon
```
您可以在管理面上看到新的Runner
您可以在管理面上看到新的Runner
![view runner](/images/usage/actions/view-runner.png)
您可以通過访问[act runner](usage/actions/act-runner.md) 取更多信息
您可以透過訪問[act runner](usage/actions/act-runner.md) 取更多資訊
### 使用Actions
即使對於用了Gitea例的Actions存儲库仍默认禁用Actions。
即使對於用了Gitea例的Actions儲存庫仍預設禁用Actions。
用它,請转到存儲库的设置页面,例如`your_gitea.com/<owner>/repo/settings`,然后启`Enable Repository Actions`
用它,請轉到儲存庫的設定頁面,例如`your_gitea.com/<owner>/repo/settings`,然後啟`Enable Repository Actions`
![enable actions](/images/usage/actions/enable-actions.png)
接下的步可能相当复杂
您需要学习Actions的[工作流](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions),並编写您想要的工作流文件。
接下的步可能相當複雜
您需要學習Actions的[工作流](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions),並編寫您想要的工作流文件。
不過,我可以从一个简單的演示始:
不過,我可以從一個簡單的演示始:
```yaml
name: Gitea Actions Demo
@@ -112,20 +112,20 @@ jobs:
- run: echo "🍏 This job's status is ${{ job.status }}."
```
您可以上述例上為一`.yaml`展名的文件,放在存儲库`.gitea/workflows/`目錄中,例如`.gitea/workflows/demo.yaml`
您可能注意到,这与[GitHub Actions的快速入](https://docs.github.com/en/actions/quickstart)非常相似。
是因為Gitea Actions在可能容GitHub Actions的基上進行设计
您可以上述例上為一`.yaml`展名的文件,放在儲存庫`.gitea/workflows/`目錄中,例如`.gitea/workflows/demo.yaml`
您可能注意到,這與[GitHub Actions的快速入](https://docs.github.com/en/actions/quickstart)非常相似。
是因為Gitea Actions在可能容GitHub Actions的基上進行設計
請注意,演示文件中包含一些表情符
保您的数据库支持它们,特是在使用MySQL
如果字符集不是`utf8mb4`出現错误,例如`Error 1366 (HY000): Incorrect string value: '\\xF0\\x9F\\x8E\\x89 T...' for column 'name' at row 1`
更多信息,請参阅[数据库准备工作](../../installation/database-preparation.md#mysqlmariadb)。
請注意,演示文件中包含一些表情符
保您的資料庫支援它們,特是在使用MySQL
如果字符集不是`utf8mb4`出現錯誤,例如`Error 1366 (HY000): Incorrect string value: '\\xF0\\x9F\\x8E\\x89 T...' for column 'name' at row 1`
更多資訊,請參閱[資料庫準備工作](../../installation/database-preparation.md#mysqlmariadb)。
或者,您可以演示文件中除所有表情符,然后再尝试一次。
或者,您可以演示文件中除所有表情符,然後再嘗試一次。
`on: [push]` 一行表示您向該存儲库推送提交,工作流将被触发
然而,您上 YAML 文件,它也推送一提交,所以您應該在"Actions"標籤中看到一新的任
`on: [push]` 一行表示您向該儲存庫推送提交,工作流將被觸發
然而,您上 YAML 文件,它也推送一提交,所以您應該在"Actions"標籤中看到一新的任
![view job](/images/usage/actions/view-job.png)
做得好!您已成功始使用Actions。
做得好!您已成功始使用Actions。

View File

@@ -4,25 +4,25 @@ slug: "secrets"
sidebar_position: 50
---
# 密管理
# 密管理
管理允您在使用者、組織或存放庫中存儲敏感信息
管理在 Gitea 1.19+ 版本中可用。
管理允您在使用者、組織或存放庫中儲存敏感資訊
管理在 Gitea 1.19+ 版本中可用。
## 设置密钥名稱
## 設定密鑰名稱
以下規則适用于密钥名稱:
以下規則適用於密鑰名稱:
-名稱只能包含字母字字符 (`[a-z]`, `[A-Z]`, `[0-9]`) 或下划线 (`_`)。不允使用空格。
-名稱只能包含字母字字符 (`[a-z]`, `[A-Z]`, `[0-9]`) 或下劃線 (`_`)。不允使用空格。
-名稱不能以 `GITHUB_``GITEA_`開頭。
-名稱不能以 `GITHUB_``GITEA_`開頭。
-名稱不能以字開頭。
-名稱不能以字開頭。
-名稱不分大小
-名稱不分大小
-名稱在建立它们的级别上必須是唯一的。
-名稱在建立它們的級別上必須是唯一的。
例如,對於在存放庫级别建立的密,它在該存放庫中必須具有唯一的名稱;對於在組織级别建立的密,它在該级别上必須具有唯一的名稱。
例如,對於在存放庫級別建立的密,它在該存放庫中必須具有唯一的名稱;對於在組織級別建立的密,它在該級別上必須具有唯一的名稱。
如果在多个级别上存在具有相同名稱的密钥,则最低级别的密钥优先生效。例如,如果組織级别的密钥与存放庫级别的密具有相同的名稱,存放庫级别的密钥将优先生效。
如果在多個級別上存在具有相同名稱的密鑰,則最低級別的密鑰優先生效。例如,如果組織級別的密鑰與存放庫級別的密具有相同的名稱,存放庫級別的密鑰將優先生效。

View File

@@ -4,27 +4,27 @@ slug: "actions-variables"
sidebar_position: 25
---
#
#
您可以建立使用者、組織和存放庫级别的变量。量的级别取决于建立它的位置。建立变量时,变量的名稱
转换為大在yaml文件中引用需要使用大
您可以建立使用者、組織和存放庫級別的變量。量的級別取決於建立它的位置。建立變量時,變量的名稱
轉換為大在yaml文件中引用需要使用大
## 命名規則
以下規則适用于变量名:
以下規則適用於變量名:
- 量名稱只能包含字母字字符 (`[a-z]`, `[A-Z]`, `[0-9]`) 或下划线 (`_`)。不允使用空格。
- 量名稱不能以 `GITHUB_``GITEA_`開頭。
- 量名稱不能以字開頭。
- 量名稱不分大小
- 量名稱在建立它们的级别上必須是唯一的。
- 量名稱不能為 `CI`
- 量名稱只能包含字母字字符 (`[a-z]`, `[A-Z]`, `[0-9]`) 或下劃線 (`_`)。不允使用空格。
- 量名稱不能以 `GITHUB_``GITEA_`開頭。
- 量名稱不能以字開頭。
- 量名稱不分大小
- 量名稱在建立它們的級別上必須是唯一的。
- 量名稱不能為 `CI`
## 使用
建立配置变量后,它们将自动填充到 `vars` 上下文中。您可以在工作流中使用`${{ vars.VARIABLE_NAME }}` 这样的表达式来使用它
建立設定變量後,它們將自動填充到 `vars` 上下文中。您可以在工作流中使用`${{ vars.VARIABLE_NAME }}` 這樣的表達式來使用它
## 优先级
## 優先級
如果同名量存在于多个级别,则级别最低的变量优先。
存放庫级别的变量总是比組織或者使用者级别的变量优先被選中。
如果同名量存在於多個級別,則級別最低的變量優先。
存放庫級別的變量總是比組織或者使用者級別的變量優先被選中。

View File

@@ -8,37 +8,37 @@ aliases:
# AGit
在 Gitea `1.13` 版本中,添加了 [AGit](https://git-repo.info/zh/2020/03/agit-flow-and-git-repo/) 的支。AGit 允使用者在有存放庫写入权限的情下直接建立拉取請求,也不需要分叉存放庫。有助于减少重存放庫的量,降低不必要的硬碟使用量。
在 Gitea `1.13` 版本中,添加了 [AGit](https://git-repo.info/zh/2020/03/agit-flow-and-git-repo/) 的支。AGit 允使用者在有存放庫寫入權限的情下直接建立拉取請求,也不需要分叉存放庫。有助於減少重存放庫的量,降低不必要的硬碟使用量。
:::note
器端需要 Git 版本 2.29 或更高版本才能正常行。
服器端需要 Git 版本 2.29 或更高版本才能正常行。
:::
## 使用 AGit 建立 PR
AGit 允在推送代码到远程存放庫建立 PR請求)。
通過在推送使用特定的 refspecgit 中已知的位置标识符),可以实現这一功能。
下面的示例说明了这一点
AGit 允在推送程式碼到遠程存放庫建立 PR請求)。
通過在推送使用特定的 refspecgit 中已知的位置標識符),可以實現這一功能。
下面的範例說明了這一點
```shell
git push origin HEAD:refs/for/main
```
該命令的结构如下:
該命令的結構如下:
- `HEAD`:目分支
- `refs/<for|draft|for-review>/<branch>`:目 PR 類型
- `for`:建立一`<branch>` 為目分支的普通 PR
- `draft`/`for-review`:目前被默忽略
- `<branch>/<session>`:要打 PR 的目分支
- `-o <topic|title|description>`PR 的選
- `title`PR 的标题
- `topic`PR 應該打的分支名稱
- `HEAD`:目分支
- `refs/<for|draft|for-review>/<branch>`:目 PR 類型
- `for`:建立一`<branch>` 為目分支的普通 PR
- `draft`/`for-review`:目前被默忽略
- `<branch>/<session>`:要打 PR 的目分支
- `-o <topic|title|description>`PR 的選
- `title`PR 的標題
- `topic`PR 應該打的分支名稱
- `description`PR 的描述
- `force-push=true`: 是否制更新目分支
- 注意: 如果不值,只用 `-o force-push` 也同可以正常工作。
- `force-push=true`: 是否制更新目分支
- 注意: 如果不值,只用 `-o force-push` 也同可以正常工作。
下面是另一个高级示例,用建立一`topic``title``description` 為參數的新 PR分支是 `main`
下面是另一個高級範例,用建立一`topic``title``description` 為參數的新 PR分支是 `main`
```shell
git push origin HEAD:refs/for/main -o topic="Topic of my PR" -o title="Title of the PR" -o description="# The PR Description\nThis can be **any** markdown content.\n- [x] Ok"

View File

@@ -7,12 +7,12 @@ aliases:
- /zh-tw/clone-filters
---
# 克隆過器 (部分克隆)
# 克隆過器 (部分克隆)
Git 引入了 `--filter`项用于 `git clone` 命令,該選可以過掉大文件和象(如 blob而建立一存放庫的部分克隆。克隆過器對於大型存放庫和/或按流量计费的连接特有用,因為完全克隆(不使用 `--filter`)可能很昂(需要下所有历史数据)。
Git 引入了 `--filter`項用於 `git clone` 命令,該選可以過掉大文件和象(如 blob而建立一存放庫的部分克隆。克隆過器對於大型存放庫和/或按流量計費的連接特有用,因為完全克隆(不使用 `--filter`)可能很昂(需要下所有歷史資料)。
需要 Git 2.22 或更高版本,無是在 Gitea 服器上還是在客端上都需要如此。為了使克隆過器正常工作,請保客端上的 Git 版本至少与服务器上的版本相同(或更高)。以管理身份登入到 Gitea后转到管理后台 -> 應用配置,查看服器的 Git 版本。
需要 Git 2.22 或更高版本,無是在 Gitea 服器上還是在客端上都需要如此。為了使克隆過器正常工作,請保客端上的 Git 版本至少與伺服器上的版本相同(或更高)。以管理身份登入到 Gitea後轉到管理後臺 -> 應用設定,查看服器的 Git 版本。
默认情况下,克隆過器是用的,除非在 `[git]` `DISABLE_PARTIAL_CLONE` 设置`true`
預設情況下,克隆過器是用的,除非在 `[git]` `DISABLE_PARTIAL_CLONE` 設定`true`
参阅 [GitHub 博客文章:解部分克隆](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/) 以取克隆過器的常用法(無 Blob 和無的克隆),以及 [GitLab 部分克隆文](https://docs.gitlab.com/ee/topics/git/partial_clone.html) 以取更高的用法(例如按文件大小過和取消過滤以将部分克隆转换為完全克隆)。
參閱 [GitHub 部落格文章:解部分克隆](https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/) 以取克隆過器的常用法(無 Blob 和無的克隆),以及 [GitLab 部分克隆文](https://docs.gitlab.com/ee/topics/git/partial_clone.html) 以取更高的用法(例如按文件大小過和取消過濾以將部分克隆轉換為完全克隆)。

View File

@@ -7,32 +7,32 @@ aliases:
- /zh-tw/incoming-email
---
# 件接收
# 件接收
Gitea 支通過接收件執行多操作。本面描述如何進行设置
Gitea 支通過接收件執行多操作。本面描述如何進行設定
## 要求
理接收的电子邮件需要用 IMAP 功能的电子邮件帳戶。
的策略是使用 [电子邮件子地址](https://en.wikipedia.org/wiki/Email_address#Sub-addressing),但也可以使用 catch-all 箱。
接收电子邮件地址中包含一使用者/操作特定的令牌,告 Gitea 應執行哪操作。
此令牌應該出現在 `To``Delivered-To` 头字段中。
理接收的電子郵件需要用 IMAP 功能的電子郵件帳戶。
的策略是使用 [電子郵件子地址](https://en.wikipedia.org/wiki/Email_address#Sub-addressing),但也可以使用 catch-all 箱。
接收電子電子郵件地址中包含一使用者/操作特定的令牌,告 Gitea 應執行哪操作。
此令牌應該出現在 `To``Delivered-To` 頭欄位中。
Gitea 会尝试检测自动回复並跳過它们,电子邮件服务器也應該配置以减少接收到的干(垃圾件、通讯订阅等)。
Gitea 會嘗試檢測自動回覆並跳過它們,電子郵件伺服器也應該設定以減少接收到的干(垃圾件、通訊訂閱等)。
## 配置
## 設定
要激活理接收的电子邮件消息功能,您需要在配置文件中配置 `email.incoming` 部分。
要激活理接收的電子郵件消息功能,您需要在設定文件中設定 `email.incoming` 部分。
`REPLY_TO_ADDRESS` 包含电子邮件客户端将要回的地址。
該地址需要包含 `%{token}` 位符,該位符被替為描述使用者/操作的令牌。
位符在地址中只能出現一次,並且必須位地址的使用者部分(`@` 之前)。
`REPLY_TO_ADDRESS` 包含電子郵件客戶端將要回的地址。
該地址需要包含 `%{token}` 位符,該位符被替為描述使用者/操作的令牌。
位符在地址中只能出現一次,並且必須位地址的使用者部分(`@` 之前)。
使用电子邮件子地址的例可能如下:`incoming+%{token}@example.com`
使用電子郵件子地址的例可能如下:`incoming+%{token}@example.com`
如果使用 catch-all 箱,则占位符可以出現在地址的使用者部分的任何位置:`incoming+%{token}@example.com``incoming_%{token}@example.com``%{token}@example.com`
如果使用 catch-all 箱,則佔位符可以出現在地址的使用者部分的任何位置:`incoming+%{token}@example.com``incoming_%{token}@example.com``%{token}@example.com`
## 安全性
在選择用于接收传入电子邮件的域要小心。
在子域名上接收传入电子邮件,例如 `incoming.example.com`,以防止与运行在 `example.com` 上的其他服可能存在的安全问题
在選擇用於接收傳入電子郵件的域要小心。
在子域名上接收傳入電子郵件,例如 `incoming.example.com`,以防止與運行在 `example.com` 上的其他服可能存在的安全問題

View File

@@ -7,37 +7,37 @@ aliases:
- /zh-tw/issue-pull-request-templates
---
# 模板建立工單与合並請求
# 模板建立工單與合併請求
开发者可以利用问题模板建立工單与合並請求,其目的在于规范参与者的言表
開發者可以利用問題模板建立工單與合併請求,其目的在於規範參與者的言表
## 模板介
## 模板介
Gitea 支持两种格式的模板Markdown 和 YAML。
Gitea 支援兩種格式的模板Markdown 和 YAML。
### Markdown 模板
在 Gitea 中存在两种用途的 Markdown 模板:
在 Gitea 中存在兩種用途的 Markdown 模板:
- `ISSUE_TEMPLATE/bug-report.md`于规范工單的 Markdown 文本描述
- `PULL_REQUEST_TEMPLATE.md`于规范合並請求的 Markdown 文本描述
- `ISSUE_TEMPLATE/bug-report.md`於規範工單的 Markdown 文本描述
- `PULL_REQUEST_TEMPLATE.md`於規範合併請求的 Markdown 文本描述
對於以上 Markdown 模板,我们推荐您将它们放置到项目目錄 `.gitea` 進行收
對於以上 Markdown 模板,我們推薦您將它們放置到專案目錄 `.gitea` 進行收
### YAML 模板
用 YAML 语法编写的模板相比 Markdown 可以現更富的功能,利用表單实現诸如:问卷调查、字符校。在 Gitea 中的 YAML 同样支持两种用途:
用 YAML 語法編寫的模板相比 Markdown 可以現更富的功能,利用表單實現諸如:問卷調查、字符校。在 Gitea 中的 YAML 同樣支援兩種用途:
- `ISSUE_TEMPLATE/bug-report.yaml`建立问卷调查形式的工單
- `PULL_REQUEST_TEMPLATE.yaml`建立表單形式的合請求
- `ISSUE_TEMPLATE/bug-report.yaml`建立問卷調查形式的工單
- `PULL_REQUEST_TEMPLATE.yaml`建立表單形式的合請求
對於以上 YAML 模板,我们同样推荐您将它们放置到项目目錄 `.gitea` 進行收
對於以上 YAML 模板,我們同樣推薦您將它們放置到專案目錄 `.gitea` 進行收
##### 表單支通過 URL 查參數
##### 表單支通過 URL 查參數
新建工單面 URL 以 `?title=Issue+Title&body=Issue+Text` 為查參數,表單使用其中的參數key-value填充表單容。
新建工單面 URL 以 `?title=Issue+Title&body=Issue+Text` 為查參數,表單使用其中的參數key-value填充表單容。
### Gitea 支的模板文件路
### Gitea 支的模板文件路
工單模板文件名:
@@ -60,7 +60,7 @@ Gitea 支持两种格式的模板Markdown 和 YAML。
- `.github/issue_template.yaml`
- `.github/issue_template.yml`
請求模板:
請求模板:
- `PULL_REQUEST_TEMPLATE.md`
- `PULL_REQUEST_TEMPLATE.yaml`
@@ -83,7 +83,7 @@ Gitea 支持两种格式的模板Markdown 和 YAML。
#### 工單模板目錄
工單存在多類型Gitea 支持将工單模板一收`ISSUE_TEMPLATE` 目錄。以下是 Gitea 支的工單模板目錄:
工單存在多類型Gitea 支援將工單模板一收`ISSUE_TEMPLATE` 目錄。以下是 Gitea 支的工單模板目錄:
- `ISSUE_TEMPLATE`
- `issue_template`
@@ -94,9 +94,9 @@ Gitea 支持两种格式的模板Markdown 和 YAML。
- `.gitlab/ISSUE_TEMPLATE`
- `.gitlab/issue_template`
目錄支混合存放 Markdown (`.md`) 或 YAML (`.yaml`/`.yml`) 格式的工單模板。另外,合請求模板不支目錄存放。
目錄支混合存放 Markdown (`.md`) 或 YAML (`.yaml`/`.yml`) 格式的工單模板。另外,合請求模板不支目錄存放。
## Markdown 模板
## Markdown 模板
```md
---
@@ -112,24 +112,24 @@ labels:
This is the template!
```
上面的例表示使用者列表中選择一个工單模板,列表展示模板名稱 `Template Name` 和模板描述 `This template is for testing!`。 同时,标题会预先填充為 `[TEST]`,而正文将预先填充 `This is the template!`。該 Issue 被指派 `user1`。 最Issue 還被分配两个標籤,`bug``help needed`,並且将问题指向 `main` 分支。
上面的例表示使用者列表中選擇一個工單模板,列表展示模板名稱 `Template Name` 和模板描述 `This template is for testing!`。 同時,標題會預先填充為 `[TEST]`,而正文將預先填充 `This is the template!`。該 Issue 被指派 `user1`。 最Issue 還被分配兩個標籤,`bug``help needed`,並且將問題指向 `main` 分支。
## YAML 模板
## YAML 模板
YAML 模板格式如下,相比 Markdown 模板提供了更多用性的功能。
YAML 模板格式如下,相比 Markdown 模板提供了更多用性的功能。
```yaml
name: 表單名稱
about: 表單描述
title: 认标题
body: 主體
type: 表單元素類型
id: 表單标号
attributes: 展的
validations: 容校
title: 認標題
body: 主體
type: 表單元素類型
id: 表單標號
attributes: 展的
validations: 容校
```
下例 YAML 配置文件完整定了一个用于提交 bug 的问卷调查。
下例 YAML 設定文件完整定了一個用於提交 bug 的問卷調查。
```yaml
name: Bug Report
@@ -195,89 +195,89 @@ body:
### Markdown 段落
您可以在 YAML 模板中使用 `markdown` 元素為开发者提供外的上下文支撑,这部分内容会作為建立工單的提示但不作為工單容提交。
您可以在 YAML 模板中使用 `markdown` 元素為開發者提供外的上下文支撐,這部分內容會作為建立工單的提示但不作為工單容提交。
`attributes`提供了以下展能力:
`attributes`提供了以下展能力:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ------- | ------------------------------ | ---- | ------ | ------ | ------ |
| `value` | 渲染的文本。支 Markdown 格式 | 必選 | 字符串 | - | - |
| `value` | 渲染的文本。支 Markdown 格式 | 必選 | 字符串 | - | - |
### Textarea 多行文本入框
### Textarea 多行文本入框
您可以使用 `textarea` 元素在表單中添加多行文本入框。 除了入文本,开发者還可以在 `textarea` 域附加文件。
您可以使用 `textarea` 元素在表單中添加多行文本入框。 除了入文本,開發者還可以在 `textarea` 域附加文件。
`attributes`提供了以下展能力:
`attributes`提供了以下展能力:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ------------- | ----------------------------------------------------------------------------------------------------- | ---- | ------ | -------- | ------------------ |
| `label` | 期使用者入的短描述,也以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 提供上下文或指的文本域的描述,以表單形式示。 | 可選 | 字符串 | 空字符串 | - |
| `placeholder` | 半透明的位符,在文本域空白呈現 | 可選 | 字符串 | 空字符串 | - |
| `value` | 在文本域中填充的文本。 | 可選 | 字符串 | - | - |
| `render` | 如果提供了值,提交的文本格式化為代码块。 提供此键时,文本区域将不会扩展到文件附件或 Markdown 编辑。 | 可選 | 字符串 | - | Gitea 支持的语言。 |
| `label` | 期使用者入的短描述,也以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 提供上下文或指的文本域的描述,以表單形式示。 | 可選 | 字符串 | 空字符串 | - |
| `placeholder` | 半透明的位符,在文本域空白呈現 | 可選 | 字符串 | 空字符串 | - |
| `value` | 在文本域中填充的文本。 | 可選 | 字符串 | - | - |
| `render` | 如果提供了值,提交的文本格式化為程式碼塊。 提供此鍵時,文本區域將不會擴展到文件附件或 Markdown 編輯。 | 可選 | 字符串 | - | Gitea 支援的語言。 |
`validations`提供以下文本校參數:
`validations`提供以下文本校參數:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ---------- | ---------------------------- | ---- | ------ | ------ | ------ |
| `required` | 防止在元素完成之前提交表單。 | 可選 | 布型 | false | - |
| `required` | 防止在元素完成之前提交表單。 | 可選 | 布型 | false | - |
### Input 單行入框
### Input 單行入框
您可以使用 `input` 元素添加單行文本字段到表單。
您可以使用 `input` 元素添加單行文本欄位到表單。
`attributes`提供了以下展能力:
`attributes`提供了以下展能力:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ------------- | ---------------------------------------------- | ---- | ------ | -------- | ------ |
| `label` | 期使用者入的短描述,也以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 提供上下文或指导的字段的描述,以表單形式示。 | 可選 | 字符串 | 空字符串 | - |
| `placeholder` | 半透明的位符,在字段空白呈現。 | 可選 | 字符串 | 空字符串 | - |
| `value` | 字段中预填的文本。 | 可選 | 字符串 | - | - |
| `label` | 期使用者入的短描述,也以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 提供上下文或指導的欄位的描述,以表單形式示。 | 可選 | 字符串 | 空字符串 | - |
| `placeholder` | 半透明的位符,在欄位空白呈現。 | 可選 | 字符串 | 空字符串 | - |
| `value` | 欄位中預填的文本。 | 可選 | 字符串 | - | - |
`validations`提供以下文本校參數:
`validations`提供以下文本校參數:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ----------- | -------------------------------- | ---- | ------ | ------ | -------------------------------------------------------------- |
| `required` | 防止在未填内容时提交表單。 | 可選 | 布型 | false | - |
| `is_number` | 防止在未填数字时提交表單。 | 可選 | 布型 | false | - |
| `regex` | 直到足了与正则表达式匹配的值。 | 可選 | 字符串 | - | [则表达](https://en.wikipedia.org/wiki/Regular_expression) |
| `required` | 防止在未填內容時提交表單。 | 可選 | 布型 | false | - |
| `is_number` | 防止在未填數字時提交表單。 | 可選 | 布型 | false | - |
| `regex` | 直到滿足了與正則表達式匹配的值。 | 可選 | 字符串 | - | [則表達](https://en.wikipedia.org/wiki/Regular_expression) |
### Dropdown 下拉菜單
您可以使用 `dropdown` 元素在表單中添加下拉菜單。
`attributes`提供了以下展能力:
`attributes`提供了以下展能力:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ------------- | --------------------------------------------------------- | ---- | ---------- | -------- | ------ |
| `label` | 期使用者入的短描述,以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 提供上下文或指的下拉列表的描述,以表單形式示。 | 可選 | 字符串 | 空字符串 | - |
| `multiple` | 定使用者是否可以選择多个選项。 | 可選 | 布型 | false | - |
| `options` | 使用者可以選的選列表。 不能為空,所有選必須是不同的。 | 必選 | 字符串数组 | - | - |
| `label` | 期使用者入的短描述,以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 提供上下文或指的下拉列表的描述,以表單形式示。 | 可選 | 字符串 | 空字符串 | - |
| `multiple` | 定使用者是否可以選擇多個選項。 | 可選 | 布型 | false | - |
| `options` | 使用者可以選的選列表。 不能為空,所有選必須是不同的。 | 必選 | 字符串數組 | - | - |
`validations`提供以下文本校參數:
`validations`提供以下文本校參數:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ---------- | ---------------------------- | ---- | ------ | ------ | ------ |
| `required` | 防止在元素完成之前提交表單。 | 可選 | 布型 | false | - |
| `required` | 防止在元素完成之前提交表單。 | 可選 | 布型 | false | - |
### Checkboxes 選框
### Checkboxes 選框
您可以使用 `checkboxes` 元素添加一组复選框到表單。
您可以使用 `checkboxes` 元素添加一組復選框到表單。
`attributes`提供了以下展能力:
`attributes`提供了以下展能力:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ------------- | ----------------------------------------------------- | ---- | ------ | -------- | ------ |
| `label` | 期使用者入的短描述,以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 選框集的描述,以表單形式示。 支 Markdown 格式。 | 可選 | 字符串 | 空字符串 | - |
| `options` | 使用者可以選择的复選框列表。 有关语法,請参阅下文。 | 必選 | 数组 | - | - |
| `label` | 期使用者入的短描述,以表單形式示。 | 必選 | 字符串 | - | - |
| `description` | 選框集的描述,以表單形式示。 支 Markdown 格式。 | 可選 | 字符串 | 空字符串 | - |
| `options` | 使用者可以選擇的復選框列表。 有關語法,請參閱下文。 | 必選 | 數組 | - | - |
對於 `options`,您可以设置以下參數:
對於 `options`,您可以設定以下參數:
| | 描述 | 必選 | 類型 | 默认值 | 有效值 |
| | 描述 | 必選 | 類型 | 預設值 | 有效值 |
| ---------- | --------------------------------------------------------------------------------- | ---- | ------ | ------ | ------ |
| `label` | 選项的标识符,示在表單中。 支 Markdown 用粗體或斜體文本格式化和超文本接。 | 必選 | 字符串 | - | - |
| `required` | 防止在元素完成之前提交表單。 | 可選 | 布型 | false | - |
| `label` | 選項的標識符,示在表單中。 支 Markdown 用粗體或斜體文本格式化和超文本接。 | 必選 | 字符串 | - | - |
| `required` | 防止在元素完成之前提交表單。 | 可選 | 布型 | false | - |

View File

@@ -8,26 +8,26 @@ aliases:
# 標籤
您可以使用標籤工單和合請求進行分,並提高对它们的概
您可以使用標籤工單和合請求進行分,並提高對它們的概
## 建立標籤
對於存放庫,可以在 `工單Issues` 中點擊 `標籤Labels` 建立標籤。
對於存放庫,可以在 `工單Issues` 中點擊 `標籤Labels` 建立標籤。
對於組織,您可以定組織级别的標籤,些標籤所有組織存放庫共享,包括已存在的存放庫和新建立的存放庫。可以在組織的 `设置Settings` 中建立組織级别的標籤。
對於組織,您可以定組織級別的標籤,些標籤所有組織存放庫共享,包括已存在的存放庫和新建立的存放庫。可以在組織的 `設定Settings` 中建立組織級別的標籤。
標籤具有必填的名稱和色,可選的描述,以及必須是独占的或非独占的(下面的“作用域標籤”)。
標籤具有必填的名稱和色,可選的描述,以及必須是獨佔的或非獨佔的(下面的“作用域標籤”)。
您建立一存放庫,可以過使用 `工單標籤Issue Labels`项来選择標籤集。該選列出了一些在您的例上 [局配置的可用標籤集](../administration/customizing-gitea.md#labels)。在建立存放庫时,这些標籤也被建立。
您建立一存放庫,可以過使用 `工單標籤Issue Labels`項來選擇標籤集。該選列出了一些在您的例上 [域設定的可用標籤集](../administration/customizing-gitea.md)。在建立存放庫時,這些標籤也被建立。
## 作用域標籤
作用域標籤用于确保将至多一具有相同作用域的標籤分配工單或合請求。例如,如果標籤 `kind/bug``kind/enhancement`独占選项被设置,那工單只能被分為 bug 或 enhancement 中的一
作用域標籤用於確保將至多一具有相同作用域的標籤分配工單或合請求。例如,如果標籤 `kind/bug``kind/enhancement`獨佔選項被設定,那工單只能被分為 bug 或 enhancement 中的一
作用域標籤的名稱必須包含 `/`(不能在名稱的任一端)。標籤的作用域是基于最后一个 `/` 定的,因此例如標籤 `scope/subscope/item` 的作用域是 `scope/subscope`
作用域標籤的名稱必須包含 `/`(不能在名稱的任一端)。標籤的作用域是基於最後一個 `/` 定的,因此例如標籤 `scope/subscope/item` 的作用域是 `scope/subscope`
## 按標籤
## 按標籤
工單和合請求列表可以按標籤進行選。選择多个標籤将显示具有所有選定標籤的工單和合請求。
工單和合請求列表可以按標籤進行選。選擇多個標籤將顯示具有所有選定標籤的工單和合請求。
通過按住 alt 键並單擊標籤,可以具有所選標籤的工單和合請求列表中排除。
按住 alt 鍵並點擊標籤,可以具有所選標籤的工單和合請求列表中排除。

View File

@@ -6,138 +6,138 @@ aliases:
- /zh-tw/automatically-linked-references
---
# 自动链接引用
# 自動鏈接引用
發佈工單、合請求或评论时,文本描述被解析以查找引用。些引用将显示為工單视图中的接,並且在某些情况下会触发特定的“操作”。
發佈工單、合請求或評論時,文本描述被解析以查找引用。些引用將顯示為工單視圖中的接,並且在某些情況下會觸發特定的“操作”。
似地,列出提交消息,它们也会被解析,並且当它们被推送到主分支可以触发“操作”。
似地,列出提交消息,它們也會被解析,並且當它們被推送到主分支可以觸發“操作”。
為了防止意外建立引用,對於引用的识别有一定的規則。例如,它不應該包含在代码文本部。它還應該在周的文本中合理清晰(例如,使用空格)。
為了防止意外建立引用,對於引用的識別有一定的規則。例如,它不應該包含在程式碼文本部。它還應該在周的文本中合理清晰(例如,使用空格)。
## 使用者、团队和組織提及
## 使用者、團隊和組織提及
找到形式為 `@username` 的文本,並且 `username` 現有使用者的名稱匹配时,将建立一“提及”引用。这将通過文本更改為指向該使用者个人资料的链接来显示,並根被提及的使用者是否具有访问内容所需的权限来可能建立通知。
找到形式為 `@username` 的文本,並且 `username` 現有使用者的名稱匹配時,將建立一“提及”引用。這將通過文本更改為指向該使用者個人資料的鏈接來顯示,並根被提及的使用者是否具有訪問內容所需的權限來可能建立通知。
例:
例:
> [@John](#),你能看一下这个吗
> [@John](#),你能看一下這個嗎
對於团队和組織也是有效的:
對於團隊和組織也是有效的:
> [@Documenters](#),我需要為此進行规划
> [@CoolCompanyInc](#)这个问题关系到我所有人!
> [@Documenters](#),我需要為此進行規劃
> [@CoolCompanyInc](#)這個問題關係到我所有人!
团队将在适当时收到件通知,但整組織不收到通知。
團隊將在適當時收到件通知,但整組織不收到通知。
提交消息不会产生使用者通知。
提交消息不會產生使用者通知。
## 提交
可以使用提交的 SHA1 哈希或至少七字符的一部分引用提交。它们将显示為指向相應提交的接。
可以使用提交的 SHA1 哈希或至少七字符的一部分引用提交。它們將顯示為指向相應提交的接。
例:
例:
> 这个错误是在 [e59ff077](#) 中引入的
> 這個錯誤是在 [e59ff077](#) 中引入的
## 工單和合請求
## 工單和合請求
可以使用單的符 `#1234` 建立另一工單或合請求的引用,其中 _1234_ 是同一存放庫中一工單或合請求的编号。这些引用将显示為指向被引用容的接。
可以使用單的符 `#1234` 建立另一工單或合請求的引用,其中 _1234_ 是同一存放庫中一工單或合請求的編號。這些引用將顯示為指向被引用容的接。
建立此類型引用的效果是,在被引用的文中建立一“通知”,前提是引用的建立者其具有读取权限。
建立此類型引用的效果是,在被引用的文中建立一“通知”,前提是引用的建立者其具有讀取權限。
例:
例:
> 似乎 [#1234](#) 相
> 似乎 [#1234](#) 相
還可以使用形式 `owner/repository#1234` 引用其他存放庫中的工單和合請求:
還可以使用形式 `owner/repository#1234` 引用其他存放庫中的工單和合請求:
> 似乎 [mike/compiler#1234](#) 相
> 似乎 [mike/compiler#1234](#) 相
或者也可以使用 `!1234`号。虽然在 Gitea 中合請求是工單的一形式,但 `#1234` 形式总是链接到工單;如果接的目恰好是一个合並請求Gitea 会适当地進行重定向。而使用 `!1234`号,则会建立一个合並請求接,根需要被重定向到工單。然而,如果使用外部跟器,这个区别可能很重要,因為工單和合請求的接是不能互的。
或者也可以使用 `!1234`號。雖然在 Gitea 中合請求是工單的一形式,但 `#1234` 形式總是鏈接到工單;如果接的目恰好是一個合併請求Gitea 會適當地進行重定向。而使用 `!1234`號,則會建立一個合併請求接,根需要被重定向到工單。然而,如果使用外部跟器,這個區別可能很重要,因為工單和合請求的接是不能互的。
## 可操作的引用在合請求和提交消息中
## 可操作的引用在合請求和提交消息中
,一提交或合請求可能会修复或重新出現在某特定工單中。Gitea 支在引用之前加上特定的“关键字”来关闭和重新打被引用的工單。常见的关键字包括“closes”、“fixes”、“reopens”等。这个列表可以由站管理進行 [定义](../administration/config-cheat-sheet.md)。
,一提交或合請求可能會修復或重新出現在某特定工單中。Gitea 支在引用之前加上特定的“關鍵字”來關閉和重新打被引用的工單。常見的關鍵字包括“closes”、“fixes”、“reopens”等。這個列表可以由站管理進行 [](../administration/config-cheat-sheet)。
例:
例:
> 这个合並請求 _closes_ [#1234](#)
> 這個合併請求 _closes_ [#1234](#)
如果可操作的引用被接受,这将在被引用的工單上建立一通知,宣布当引用的合請求被合並时該工單将被关闭
如果可操作的引用被接受,這將在被引用的工單上建立一通知,宣佈當引用的合請求被合併時該工單將被關閉
為了接受可操作的引用,必須足以下至少一项条件之一:
為了接受可操作的引用,必須滿足以下至少一項條件之一:
- 评论者在建立引用具有关闭或重新打工單的限。
- 引用位提交消息中。
- 引用作為合請求描述的一部分發佈。
- 評論者在建立引用具有關閉或重新打工單的限。
- 引用位提交消息中。
- 引用作為合請求描述的一部分發佈。
在最后一种情况下,只有当合並合並請求的人具有相應权限时,工單才会被关闭或重新打
在最後一種情況下,只有當合併合併請求的人具有相應權限時,工單纔會被關閉或重新打
此外,只有合請求和提交消息可以建立一操作,只有工單可以通過这种方式被关闭或重新打
此外,只有合請求和提交消息可以建立一操作,只有工單可以透過這種方式被關閉或重新打
默认的关键字如下:
預設的關鍵字如下:
- **关闭工單**: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved
- **重新打工單**: reopen, reopens, reopened
- **關閉工單**: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved
- **重新打工單**: reopen, reopens, reopened
## 合請求和提交消息中的时间跟踪
## 合請求和提交消息中的時間跟蹤
提交或合並合並請求致自动关闭工單,還可以過提交消息添加解此工單所花费的时间
提交或合併合併請求致自動關閉工單,還可以過提交消息添加解此工單所花費的時間
要指定解工單所花费的时间,需要在工單编号后面以 `@<number><time-unit>` 的格式指定时间。在一提交消息中,可以指定多已解的工單,並為每工單指定花费的时间
要指定解工單所花費的時間,需要在工單編號後面以 `@<number><time-unit>` 的格式指定時間。在一提交消息中,可以指定多已解的工單,並為每工單指定花費的時間
持的时间單位(`<time-unit>`
援的時間單位(`<time-unit>`
- `m` - 分
- `h` - 小
- `d` - 天(相当于 8 小
- `w` - 周(相当于 5 天)
- `mo` - 月(相当于 4 周)
- `m` - 分
- `h` - 小
- `d` - 天(相當於 8 小
- `w` - 周(相當於 5 天)
- `mo` - 月(相當於 4 周)
指定时间的数字(`<number>`)也可以是小,例如 `@1.5h` 表示一小半。多个时间單位可以合使用,例如 `@1h10m` 表示 1 小 10 分
指定時間的數字(`<number>`)也可以是小,例如 `@1.5h` 表示一小半。多個時間單位可以合使用,例如 `@1h10m` 表示 1 小 10 分
提交消息例:
提交消息例:
> Fixed #123 spent @1h, refs #102, fixes #124 @1.5h
这将导致工單 #123 增加 1 小,工單 #124 增加 1 小半。
這將導致工單 #123 增加 1 小,工單 #124 增加 1 小半。
## 外部跟
## 外部跟
Gitea 支使用外部工單跟器,並可以在合請求中建立外部管的工單的引用。但是,如果外部跟器使用数字来标识工單,那么它们将与 Gitea 中管的合請求無法分。為了解决这个问题Gitea 允使用 `!` 标记来标识合並請求。例如:
Gitea 支使用外部工單跟器,並可以在合請求中建立外部管的工單的引用。但是,如果外部跟器使用數字來標識工單,那麼它們將與 Gitea 中管的合請求無法分。為瞭解決這個問題Gitea 允使用 `!` 標記來標識合併請求。例如:
> 是工單 [#1234](#),並接到外部跟器。
> 是合請求 [!1234](#),並接到 Gitea 中的合請求。
> 是工單 [#1234](#),並接到外部跟器。
> 是合請求 [!1234](#),並接到 Gitea 中的合請求。
在工單和合請求中,`!``#` 可以互使用,除非需要進行分。如果存放庫使用外部跟器,默认情况下,合提交消息使用 `!` 作為引用。
在工單和合請求中,`!``#` 可以互使用,除非需要進行分。如果存放庫使用外部跟器,預設情況下,合提交消息使用 `!` 作為引用。
## 工單和合請求引用摘要
## 工單和合請求引用摘要
下表明了工單和合請求的不同類型的交叉引用。在例中,`User1/Repo1` 指的是使用引用的存放庫,而 `UserZ/RepoZ` 表示另一存放庫。
下表明了工單和合請求的不同類型的交叉引用。在例中,`User1/Repo1` 指的是使用引用的存放庫,而 `UserZ/RepoZ` 表示另一存放庫。
| 在 User1/Repo1 中的引用 | Repo1 的工單是外部的 | RepoZ 的工單是外部的 | 渲染效果 |
| ----------------------- | :------------------: | :------------------: | --------------------------------------------- |
| `#1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `!1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `#1234` | 是 | - | 接到 `User1/Repo1`_外部工單_ 1234 |
| `!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| `User1/Repo1#1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `User1/Repo1!1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `User1/Repo1#1234` | 是 | - | 接到 `User1/Repo1`_外部工單_ 1234 |
| `User1/Repo1!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| `UserZ/RepoZ#1234` | - | 否 | 接到 `UserZ/RepoZ` 中的工單/合請求 1234 |
| `UserZ/RepoZ!1234` | - | 否 | 接到 `UserZ/RepoZ` 中的工單/合請求 1234 |
| `UserZ/RepoZ#1234` | - | 是 | 接到 `UserZ/RepoZ`_外部工單_ 1234 |
| `UserZ/RepoZ!1234` | - | 是 | 接到 `UserZ/RepoZ`_PR_ 1234 |
| **字母字工單编号:** | - | - | - |
| `AAA-1234` | 是 | - | 接到 `User1/Repo1`_外部工單_ `AAA-1234` |
| `!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| `User1/Repo1!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| _不支_ | - | 是 | 接到 `UserZ/RepoZ`_外部工單_ `AAA-1234` |
| `UserZ/RepoZ!1234` | - | 是 | 接到 `UserZ/RepoZ` 中的 _PR_ 1234 |
| `#1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `!1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `#1234` | 是 | - | 接到 `User1/Repo1`_外部工單_ 1234 |
| `!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| `User1/Repo1#1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `User1/Repo1!1234` | 否 | - | 接到 `User1/Repo1` 中的工單/合請求 1234 |
| `User1/Repo1#1234` | 是 | - | 接到 `User1/Repo1`_外部工單_ 1234 |
| `User1/Repo1!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| `UserZ/RepoZ#1234` | - | 否 | 接到 `UserZ/RepoZ` 中的工單/合請求 1234 |
| `UserZ/RepoZ!1234` | - | 否 | 接到 `UserZ/RepoZ` 中的工單/合請求 1234 |
| `UserZ/RepoZ#1234` | - | 是 | 接到 `UserZ/RepoZ`_外部工單_ 1234 |
| `UserZ/RepoZ!1234` | - | 是 | 接到 `UserZ/RepoZ`_PR_ 1234 |
| **字母字工單編號:** | - | - | - |
| `AAA-1234` | 是 | - | 接到 `User1/Repo1`_外部工單_ `AAA-1234` |
| `!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| `User1/Repo1!1234` | 是 | - | 接到 `User1/Repo1`_PR_ 1234 |
| _不支_ | - | 是 | 接到 `UserZ/RepoZ`_外部工單_ `AAA-1234` |
| `UserZ/RepoZ!1234` | - | 是 | 接到 `UserZ/RepoZ` 中的 _PR_ 1234 |
_一部分适用于使用字母字格式的外部工單跟器的存放庫。_
_一部分適用於使用字母字格式的外部工單跟器的存放庫。_
_**-**: 不_
_**-**: 不_
注意:不完全支具有不同類型工單(外部 vs. 部)的存放庫之的自引用,可能会导致無效接。
注意:不完全支具有不同類型工單(外部 vs. 部)的存放庫之的自引用,可能會導致無效接。

View File

@@ -7,11 +7,11 @@ aliases:
- /zh-tw/merge-message-templates
---
# 合消息模板
# 合消息模板
## 文件名
PR 默认合並消息模板可能的文件名:
PR 預設合併消息模板可能的文件名:
- `.gitea/default_merge_message/MERGE_TEMPLATE.md`
- `.gitea/default_merge_message/REBASE_TEMPLATE.md`
@@ -20,28 +20,28 @@ PR 默认合並消息模板可能的文件名:
- `.gitea/default_merge_message/MANUALLY-MERGED_TEMPLATE.md`
- `.gitea/default_merge_message/REBASE-UPDATE-ONLY_TEMPLATE.md`
##
##
您可以在些模板中使用以下以 `${}`围的变量,这些变量遵循 [os.Expand](https://pkg.go.dev/os#Expand) 法:
您可以在些模板中使用以下以 `${}`圍的變量,這些變量遵循 [os.Expand](https://pkg.go.dev/os#Expand) 法:
- BaseRepoOwnerName此合請求的基存放庫所有者名稱
- BaseRepoName此合請求的基存放庫名稱
- BaseBranch此合請求的基存放庫目分支名稱
- HeadRepoOwnerName此合請求的源存放庫所有者名稱
- HeadRepoName此合請求的源存放庫名稱
- HeadBranch此合請求的源存放庫分支名稱
- PullRequestTitle請求的标题
- PullRequestDescription請求的描述
- PullRequestPosterName請求的提交者名稱
- PullRequestIndex請求的索引
- PullRequestReference請求的引用字符索引。例如,#1、!2
- ClosingIssues返回一包含由此合請求关闭的所有工單的字符串。例如 `close #1, close #2`
- ReviewedOn: 該提交所的合請求。例如: `Reviewed-on: https://gitea.com/foo/bar/pulls/1`
- ReviewedBy: 同意的此合請求。例如: `Reviewed-by: Jane Doe <jane.doe@example.com>`
- BaseRepoOwnerName此合請求的基存放庫所有者名稱
- BaseRepoName此合請求的基存放庫名稱
- BaseBranch此合請求的基存放庫目分支名稱
- HeadRepoOwnerName此合請求的源存放庫所有者名稱
- HeadRepoName此合請求的源存放庫名稱
- HeadBranch此合請求的源存放庫分支名稱
- PullRequestTitle請求的標題
- PullRequestDescription請求的描述
- PullRequestPosterName請求的提交者名稱
- PullRequestIndex請求的索引
- PullRequestReference請求的引用字符索引。例如,#1、!2
- ClosingIssues返回一包含由此合請求關閉的所有工單的字符串。例如 `close #1, close #2`
- ReviewedOn: 該提交所的合請求。例如: `Reviewed-on: https://gitea.com/foo/bar/pulls/1`
- ReviewedBy: 同意的此合請求。例如: `Reviewed-by: Jane Doe <jane.doe@example.com>`
## Rebase
## Rebase
有合提交的情下進行变基时`REBASE_TEMPLATE.md` 修改最一次提交的消息。此模板還提供以下附加量:
有合提交的情下進行變基時`REBASE_TEMPLATE.md` 修改最一次提交的消息。此模板還提供以下附加量:
- CommitTitle提交的标题
- CommitTitle提交的標題
- CommitBody提交的正文文本

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):
```
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)代替密碼。
您不能具有相同名稱的文件次發佈到一包中。您必須首先除現有的包文件。
服务器将以以下的 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):
```
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)代替密碼。
您不能具有相同名稱的文件次發佈到一包中。您必須首先除現有的包文件。
服务器将以以下的 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) |
## 發佈軟體包
## 發佈套件
项目中运行以下命令發佈軟體包
專案中運行以下命令發佈套件
```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)替代密碼。
服务器将以以下 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)替代密碼。 |
| `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)替代密碼進行身份驗證。
## 鏡像命名約定
像必須遵循以下命名定:
像必須遵循以下命名定:
`{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)
```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)替代密碼。
您無法向套件中多次發佈具有相同名稱的文件。您必須首先除現有的套件版本。
服务器将使用以下 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)。
## 發佈軟體包
## 發佈套件
要發佈通用軟體包,請執行 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)替代密碼。
服务器将使用以下 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)
```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)替代密碼進行身份驗證。
服务器将使用以下 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)替代密碼進行身份驗證。 |
| `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) |
| `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)。 |
例如:
@@ -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)代替密碼。 |
| `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)。
## 發佈軟體包
## 發佈套件
通過行以下命令發佈軟體包
通過行以下命令發佈套件
```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)。
## 發佈軟體包
## 發佈套件
要發佈軟體包,請编辑 `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)替代密碼 |
## 發佈軟體包
## 發佈套件
通過行以下命令發佈軟體包
通過行以下命令發佈套件
```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)
```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)替代密碼。您無法具有相同名稱的文件次發佈到套件中。您必須先除現有的套件版本。
服务器将以以下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) |
例如:
@@ -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)代替密碼。 |
登入是可選的,只有在軟體包註冊表是私有的情下才需要。
登入是可選的,只有在套件註冊表是私有的情下才需要。
## 發佈軟體包
## 發佈套件
首先,您需要打包軟體包的内容:
首先,您需要打包套件的內容:
```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)代替密碼。 |
| `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)傳遞給 `VAGRANT_CLOUD_TOKEN` 環境變量。
## 支的命令
## 支的命令
```
vagrant box add

View File

@@ -6,72 +6,72 @@ aliases:
- /zh-tw/permissions
---
#
#
Gitea 支持对存放庫進行限管理,这样您就可以為不同的人提供不同的访问权限。首先,我需要了解 `單元Unit`
Gitea 支援對存放庫進行限管理,這樣您就可以為不同的人提供不同的存取權限。首先,我需要了解 `單元Unit`
## 單元Unit
在 Gitea 中,我们将存放庫的子模組稱為 `單元Unit`。現在我有以下几个單元。
在 Gitea 中,我們將存放庫的子模組稱為 `單元Unit`。現在我有以下幾個單元。
| 名稱 | 描述 | 限 |
| 名稱 | 描述 | 限 |
| -------------- | ---------------------------------- | --------- |
| 代码 | 访问源代码、文件、提交和分支。 | 入 |
| 工單 | 組織缺陷告、任和里程碑。 | 入 |
| 合請求 | 用合請求和代码审核。 | 入 |
| 發佈 | 跟踪项目版本和下。 | 入 |
| 百科 | 与协作者编写和共享文。 | 入 |
| 外部百科 | 接到外部基。 | 取 |
| 外部工單跟器 | 接到外部工單跟器。 | 取 |
| 项目 | 模板存放庫的 URL。 | 入 |
| 包 | 接到存放庫 | 入 |
| Actions | 查 Actions 日或重/取消工作流 | 入 |
| 设置 | 管理存放庫。 | 管理 |
| 程式碼 | 訪問源程式碼、文件、提交和分支。 | 入 |
| 工單 | 組織缺陷告、任和里程碑。 | 入 |
| 合請求 | 用合請求和程式碼審覈。 | 入 |
| 發佈 | 跟蹤專案版本和下。 | 入 |
| 百科 | 與協作者編寫和共享文。 | 入 |
| 外部百科 | 接到外部基。 | 取 |
| 外部工單跟器 | 接到外部工單跟器。 | 取 |
| 專案 | 模板存放庫的 URL。 | 入 |
| 包 | 接到存放庫 | 入 |
| Actions | 查 Actions 日或重/取消工作流 | 入 |
| 設定 | 管理存放庫。 | 管理 |
通過不同的限,使用者可以在些單元上執行不同的操作。
通過不同的限,使用者可以在些單元上執行不同的操作。
| 名稱 | 取 | 入 | 管理 |
| 名稱 | 取 | 入 | 管理 |
| -------------- | -------------------------------- | ------------------------------ | -------- |
| 代码 | 查看代码树、文件、提交、分支等。 | 推送代码。 | - |
| 工單 | 查看工單並建立新工單。 | 添加標籤、分配、关闭工單。 | - |
| 合請求 | 查看合請求並建立新合請求。 | 添加標籤、分配、关闭合並請求。 | - |
| 發佈 | 查看發佈和下文件。 | 建立/编辑發佈。 | - |
| 百科 | 查看百科面。克隆百科存放庫。 | 建立/编辑百科面,推送更改。 | - |
| 外部百科 | 接到外部百科。 | - | - |
| 外部工單跟器 | 接到外部工單跟器。 | - | - |
| 项目 | 查看面板。 | 在面板之间移动工單。 | - |
| 包 | 查看包 | 上传/删除包 | - |
| Actions | 查看 Actions 日 | 同意 / 取消 / 重 | - |
| 设置 | - | - | 管理存放庫 |
| 程式碼 | 查看程式碼樹、文件、提交、分支等。 | 推送程式碼。 | - |
| 工單 | 查看工單並建立新工單。 | 添加標籤、分配、關閉工單。 | - |
| 合請求 | 查看合請求並建立新合請求。 | 添加標籤、分配、關閉合併請求。 | - |
| 發佈 | 查看發佈和下文件。 | 建立/編輯發佈。 | - |
| 百科 | 查看百科面。克隆百科存放庫。 | 建立/編輯百科面,推送更改。 | - |
| 外部百科 | 接到外部百科。 | - | - |
| 外部工單跟器 | 接到外部工單跟器。 | - | - |
| 專案 | 查看面板。 | 在面板之間移動工單。 | - |
| 包 | 查看包 | 上傳/刪除包 | - |
| Actions | 查看 Actions 日 | 同意 / 取消 / 重 | - |
| 設定 | - | - | 管理存放庫 |
人存放庫和組織存放庫之间的权限存在一些差
人存放庫和組織存放庫之間的權限存在一些差
## 人存放庫
## 人存放庫
對於人存放庫,建立者是存放庫的唯一所有者,對於該存放庫的任何更改或删除没有限制。
存放庫所有者可以添加作者来帮助维护存放庫。作者可以`Read``Write``管理Admin` 限。
對於人存放庫,建立者是存放庫的唯一所有者,對於該存放庫的任何更改或刪除沒有限制。
存放庫所有者可以添加作者來幫助維護存放庫。作者可以`Read``Write``管理Admin` 限。
访问私有存放庫的體验与访问匿名公共存放庫似。您可以访问存放庫中的所有可用容,包括克隆代码、建立工單、回工單评论、提交拉取請求等。如果你有 "写"权限,只要分支保規則允,你就可以向存放庫的特定分支推送代码。此外,你還可以修改百科面。有了 "管理"限,你就可以修改存放庫的设置
訪問私有存放庫的體驗與訪問匿名公共存放庫似。您可以訪問存放庫中的所有可用容,包括克隆程式碼、建立工單、回工單評論、提交拉取請求等。如果你有 "寫"權限,只要分支保規則允,你就可以向存放庫的特定分支推送程式碼。此外,你還可以修改百科面。有了 "管理"限,你就可以修改存放庫的設定
但如果你不是該存放庫的所有者,就不能除或移該存放庫。
但如果你不是該存放庫的所有者,就不能除或移該存放庫。
## 組織存放庫
對於人存放庫,所有者是建立它的使用者。而對於組織存放庫,所有者是該組織中的所有者团队成员。对該組織存放庫的所有限都取决于团队权限设置
對於人存放庫,所有者是建立它的使用者。而對於組織存放庫,所有者是該組織中的所有者團隊成員。對該組織存放庫的所有限都取決於團隊權限設定
### 所有者团队
### 所有者團隊
建立組織时将自动建立所有者团队,建立者成為所有者团队的第一名成。所有者团队不可除,且至少有一名成
建立組織時將自動建立所有者團隊,建立者成為所有者團隊的第一名成。所有者團隊不可除,且至少有一名成
### 管理员团队
### 管理員團隊
建立团队时,有两种類型的团队。一是管理员团队,另一是普通团队。可以建立一管理员团队来管理某些版本,其成可以对这些版本做任何事情。只有所有者或管理员团队的成才能建立新团队
建立團隊時,有兩種類型的團隊。一是管理員團隊,另一是普通團隊。可以建立一管理員團隊來管理某些版本,其成可以對這些版本做任何事情。只有所有者或管理員團隊的成才能建立新團隊
### 普通团队
### 普通團隊
組織中的普通团队具有可以根`單元(Unit)`進行权限设置。它可以有成员和存儲库范围
組織中的普通團隊具有可以根`單元(Unit)`進行權限設定。它可以有成員和儲存庫範圍
-个团队可以访问所属組織的所有存放庫或特殊存放庫。
- 也可以设置該团队是否有建立新存放庫的限。
-個團隊可以訪問所屬組織的所有存放庫或特殊存放庫。
- 也可以設定該團隊是否有建立新存放庫的限。
可以過建立 "普通团队",並通過限控制其行為進行限制。一名成可以加入多个团队
可以過建立 "普通團隊",並通過限控制其行為進行限制。一名成可以加入多個團隊

View File

@@ -4,12 +4,12 @@ slug: "profile-readme"
sidebar_position: 12
---
# 个人资料 README
# 個人資料 README
要在您的 Gitea 个人资料页面显示一 Markdown 文件,只需建立一名為 `.profile` 的存放庫,並编辑其中的 `README.md` 文件。Gitea 将自动获取該文件並在您的存放庫上方示。
要在您的 Gitea 個人資料頁面顯示一 Markdown 文件,只需建立一名為 `.profile` 的存放庫,並編輯其中的 `README.md` 文件。Gitea 將自動獲取該文件並在您的存放庫上方示。
注意:您可以此存放庫為私有。这样可以藏您的源文件,使其对公众不可,並允许您将某些文件為私有。但是README.md 文件是您个人资料上唯一存在的文件。如果您希望完全私有化 .profile 存放庫,则需删除或重命名 README.md 文件。
注意:您可以此存放庫為私有。這樣可以藏您的源文件,使其對公衆不可,並允許您將某些文件為私有。但是README.md 文件是您個人資料上唯一存在的文件。如果您希望完全私有化 .profile 存放庫,則需刪除或重命名 README.md 文件。
使用者`.profile/README.md`:
使用者`.profile/README.md`:
![个人资料自述文件截](/images/usage/profile-readme.png)
![個人資料自述文件截](/images/usage/profile-readme.png)

View File

@@ -6,26 +6,26 @@ aliases:
- /zh-tw/protected-tags
---
# 受保的標籤
# 受保的標籤
受保的標籤允控制谁有权限建立或更新 Git 標籤。每規則可以匹配單標籤名稱,或者使用适当的模式来同时控制多標籤。
受保的標籤允控制誰有權限建立或更新 Git 標籤。每規則可以匹配單標籤名稱,或者使用適當的模式來同時控制多標籤。
## 设置受保的標籤
## 設定受保的標籤
要保护一个標籤,你需要按照以下步進行操作:
要保護一個標籤,你需要按照以下步進行操作:
1. 進入存放庫的**设置** > **標籤**面。
2. 入一个用于匹配名稱的模式。你可以使用單名稱、[glob 模式](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正则表达式。
3.择允许的使用者和/或团队。如果将这些字段留空,不允任何人建立或修改此標籤。
4.**保存**以保存配置
1. 進入存放庫的**設定** > **標籤**面。
2. 入一個用於匹配名稱的模式。你可以使用單名稱、[glob 模式](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正則表達式。
3.擇允許的使用者和/或團隊。如果將這些欄位留空,不允任何人建立或修改此標籤。
4.**保存**以保存設定
## 模式受保的標籤
## 模式受保的標籤
該模式使用 [glob](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正则表达式来匹配標籤名稱。對於正则表达式,你需要模式括在斜中。
該模式使用 [glob](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正則表達式來匹配標籤名稱。對於正則表達式,你需要模式括在斜中。
例:
例:
| 類型 | 模式受保的標籤 | 可能匹配的標籤 |
| 類型 | 模式受保的標籤 | 可能匹配的標籤 |
| ----- | ------------------------ | --------------------------------------- |
| Glob | `v*` | `v``v-1``version2` |
| Glob | `v[0-9]` | `v0``v1``v9` |

View File

@@ -6,55 +6,55 @@ aliases:
- /zh-tw/pull-request
---
# 合請求
# 合請求
請求(PR)是一提出存放庫進行更改的方式。
它是一种将一个分支合到另一分支的請求,附带有对所做更改的描述。
請求通常用作贡献者对存放庫贡献代码的方式,存放庫的维护者可以通過对合並請求進行审查来决定是否接受些更改。
請求(PR)是一提出存放庫進行更改的方式。
它是一種將一個分支合到另一分支的請求,附帶有對所做更改的描述。
請求通常用作貢獻者對存放庫貢獻程式碼的方式,存放庫的維護者可以透過對合併請求進行審查來決定是否接受些更改。
## 建立合請求
## 建立合請求
要建立合請求,您需要遵循以下步
要建立合請求,您需要遵循以下步
1. **Fork 存放庫** - 如果您有直接存放庫進行更改的限,您需要存放庫 fork 到您自己的账户中。
这将建立一您可以其進行更改的存放庫副本。
1. **Fork 存放庫** - 如果您有直接存放庫進行更改的限,您需要存放庫 fork 到您自己的帳號中。
這將建立一您可以其進行更改的存放庫副本。
2. **建立分支(可選)** - 在 fork 的存放庫中建立一新分支,該分支包含您要提出的更改。
分支取一描述性的名稱,以指示更改的容。
2. **建立分支(可選)** - 在 fork 的存放庫中建立一新分支,該分支包含您要提出的更改。
分支取一描述性的名稱,以指示更改的容。
3. **進行更改** - 進行您想要的更改,提交並其推送到 fork 的存放庫中。
3. **進行更改** - 進行您想要的更改,提交並其推送到 fork 的存放庫中。
4. **建立合請求** - 到原始存放庫並到“合請求”選卡。單擊“新建合請求”按,並您的新分支選為源分支。
為您的合請求入描述性标题和描述,然單擊“建立合請求”。
4. **建立合請求** - 到原始存放庫並到“合請求”選卡。單擊“新建合請求”按,並您的新分支選為源分支。
為您的合請求入描述性標題和描述,然單擊“建立合請求”。
## 评审合並請求
## 評審合併請求
建立合請求后,将触发评审流程。存放庫的维护者将收到合請求的通知,並可以查所做的更改。
可以留下评论、請求更改或批准更改。
建立合請求後,將觸發評審流程。存放庫的維護者將收到合請求的通知,並可以查所做的更改。
可以留下評論、請求更改或批准更改。
如果维护者請求更改,您需要在分支中進行些更改,並更改推送到 fork 的存放庫中。
請求将自动使用新更改進行更新。
如果維護者請求更改,您需要在分支中進行些更改,並更改推送到 fork 的存放庫中。
請求將自動使用新更改進行更新。
如果维护者批准更改,他可以将合並請求合到存放庫中。
如果維護者批准更改,他可以將合併請求合到存放庫中。
## 关闭合並請求
## 關閉合併請求
如果您不接受該合請求,您可以关闭它。
关闭合並請求,請到打的合請求並單擊“关闭合並請求”按钮。这将关闭合並請求並且不会将其合
如果您不接受該合請求,您可以關閉它。
關閉合併請求,請到打的合請求並單擊“關閉合併請求”按鈕。這將關閉合併請求並且不會將其合
## 使用“Work In Progress”标记
## 使用“Work In Progress”標記
在合請求中使用“Work In Progress”标记可以防止合請求被意外合
将合並請求标记為“Work In Progress”您必須在其标题中添加前`WIP:``[WIP]`(不分大小)。
标记前缀可以在您的`app.ini`文件中進行配置
在合請求中使用“Work In Progress”標記可以防止合請求被意外合
將合併請求標記為“Work In Progress”您必須在其標題中添加前`WIP:``[WIP]`(不分大小)。
標記前綴可以在您的`app.ini`文件中進行設定
```
[repository.pull-request]
WORK_IN_PROGRESS_PREFIXES=WIP:,[WIP]
```
列表的第一个值将用于 helpers 程
列表的第一個值將用於 helpers 程
## 合請求模板
## 合請求模板
关合並請求模板的更多信息請您移步 : [工單与合並請求模板](usage/issue-pull-request-templates.md)
關合併請求模板的更多資訊請您移步 : [工單與合併請求模板](usage/../issue-pull-request-templates)

View File

@@ -9,28 +9,28 @@ aliases:
# 推送
提交推送到 Gitea 服务器时,還有一些外的功能。
提交推送到 Gitea 伺服器時,還有一些外的功能。
## 通過推送打 PR
## 通過推送打 PR
您第一次提交推送到非默认分支,您收到一个链接,您可以單擊該链接访问分支主分支的比较页面。
从那里,您可以轻松建立一拉取請求,即使您想要其目指向另一分支。
您第一次提交推送到非預設分支,您收到一個鏈接,您可以單擊該鏈接訪問分支主分支的比較頁面。
從那裏,您可以輕鬆建立一拉取請求,即使您想要其目指向另一分支。
![Gitea 推送提示](/gitea-push-hint.png)
## 推送選
## 推送選
在 Gitea `1.13` 版本中,添加了一些 [推送選](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt) 的支
在 Gitea `1.13` 版本中,添加了一些 [推送選](https://git-scm.com/docs/git-push#Documentation/git-push.txt--oltoptiongt) 的支
### 支的選
### 支的選
- `repo.private` (true|false) - 更改存放庫的可性。
- `repo.private` (true|false) - 更改存放庫的可性。
这在与 push-to-create 合使用时特别有用。
這在與 push-to-create 合使用時特別有用。
- `repo.template` (true|false) - 更改存放庫是否為模板。
存放庫的可性更改為公开的示例:
存放庫的可性更改為公開的範例:
```shell
git push -o repo.private=false -u origin main
@@ -38,24 +38,24 @@ git push -o repo.private=false -u origin main
## 推送建立
推送建立是一功能,允许您将提交推送到在 Gitea 中尚不存在的存放庫。對於自化和允使用者建立存放庫而無需通過 Web 面非常有用。此功能默认处于禁用状态
推送建立是一功能,允許您將提交推送到在 Gitea 中尚不存在的存放庫。對於自化和允使用者建立存放庫而無需通過 Web 面非常有用。此功能預設處於禁用狀態
### 用推送建立
### 用推送建立
`app.ini` 文件中, `ENABLE_PUSH_CREATE_USER` 设置`true`,如果您希望允使用者在自己的使用者帳戶和所的組織中建立存放庫, `ENABLE_PUSH_CREATE_ORG` 设置`true`。重新启动 Gitea 以使更改生效。您可以在 [配置速查表](../administration/config-cheat-sheet.md#存放庫) 中解有关这两个選项的更多信息
`app.ini` 文件中, `ENABLE_PUSH_CREATE_USER` 設定`true`,如果您希望允使用者在自己的使用者帳戶和所的組織中建立存放庫, `ENABLE_PUSH_CREATE_ORG` 設定`true`。重新啟動 Gitea 以使更改生效。您可以在 [設定速查表](../administration/config-cheat-sheet#repository-repository) 中解有關這兩個選項的更多資訊
### 使用推送建立
您在前目錄中有一 git 存放庫,您可以通過运行以下命令提交推送到在 Gitea 中尚不存在的存放庫:
您在前目錄中有一 git 存放庫,您可以透過運行以下命令提交推送到在 Gitea 中尚不存在的存放庫:
```shell
# 添加要推送到的程存放庫
# 添加要推送到的程存放庫
git remote add origin git@{domain}:{username}/{尚不存在的存放庫名稱}.git
# 推送到程存放庫
# 推送到程存放庫
git push -u origin main
```
这假设您使用的是 SSH 程,但您也可以使用 HTTPS 程。
這假設您使用的是 SSH 程,但您也可以使用 HTTPS 程。
推送建立将默认使用 `app.ini` 中定的可`DEFAULT_PUSH_CREATE_PRIVATE`
推送建立將預設使用 `app.ini` 中定的可`DEFAULT_PUSH_CREATE_PRIVATE`

View File

@@ -6,90 +6,90 @@ aliases:
- /zh-tw/repo-mirror
---
# 存放庫
# 存放庫
存放庫像允许将存放庫外部源之進行像。您可以使用它在存放庫之间镜像分支、標籤和提交。
存放庫像允許將存放庫外部源之進行像。您可以使用它在存放庫之間鏡像分支、標籤和提交。
## 使用
## 使用
以下是一些存放庫像的可能使用景:
以下是一些存放庫像的可能使用景:
-移到了 Gitea但仍需要在其他源中保留您的项目。在这种情况下,您可以單地设置它以進行像到 Gitea拉取这样您的 Gitea 例中就可以取到所有必要的提交史、標籤和分支。
- 您在其他源中有一些旧项目,您不再主使用,但出于归檔目的不想除。在这种情况下,您可以建立一推送像,以便您的活的 Gitea 存放庫可以其更改推送到位置。
-移到了 Gitea但仍需要在其他源中保留您的專案。在這種情況下,您可以單地設定它以進行像到 Gitea拉取這樣您的 Gitea 例中就可以取到所有必要的提交史、標籤和分支。
- 您在其他源中有一些舊專案,您不再主使用,但出於歸檔目的不想除。在這種情況下,您可以建立一推送像,以便您的活的 Gitea 存放庫可以其更改推送到位置。
## 从远程存放庫拉取
## 從遠程存放庫拉取
對於現有的程存放庫,您可以按照以下步骤设置拉取像:
對於現有的程存放庫,您可以按照以下步驟設定拉取像:
1. 在右上角的“建立...”菜單中選择“迁移外部存放庫”。
2.择远程存放庫服
3. 入存放庫的 URL。
4. 如果存放庫需要身份驗證,請填您的身份驗證信息
5. 選中“該存放庫是一个镜像”選框。
6.择“迁移存放庫”以保存配置
1. 在右上角的“建立...”菜單中選擇“遷移外部存放庫”。
2.擇遠程存放庫服
3. 入存放庫的 URL。
4. 如果存放庫需要身份驗證,請填您的身份驗證資訊
5. 選中“該存放庫是一個鏡像”選框。
6.擇“遷移存放庫”以保存設定
現在,該存放庫定期从远程存放庫進行像。您可以過在存放庫设置中選“立即同步”来强制進行同步。
現在,該存放庫定期從遠程存放庫進行像。您可以過在存放庫設定中選“立即同步”來強制進行同步。
:::warning
:exclamation::exclamation: **注意:**您只能為尚不存在您的例上的存放庫设置拉取像。一旦存放庫建立成功,您就無法再将其转换為拉取像。:exclamation::exclamation:
:exclamation::exclamation: **注意:**您只能為尚不存在您的例上的存放庫設定拉取像。一旦存放庫建立成功,您就無法再將其轉換為拉取像。:exclamation::exclamation:
:::
## 推送到程存放庫
## 推送到程存放庫
對於現有的存放庫,您可以按照以下步骤设置推送像:
對於現有的存放庫,您可以按照以下步驟設定推送像:
1. 在存放庫中,到**设置** > **存放庫**,然進入**镜像设置**部分。
2. 入一存放庫的 URL。
3. 如果存放庫需要身份驗證,請展**授**部分並填您的身份驗證信息。請注意,所請求的**密碼**也可以是您的访问令牌
4.**添加推送像**以保存配置
1. 在存放庫中,到**設定** > **存放庫**,然進入**鏡像設定**部分。
2. 入一存放庫的 URL。
3. 如果存放庫需要身份驗證,請展**授**部分並填您的身份驗證資訊。請注意,所請求的**密碼**也可以是您的存取權杖
4.**添加推送像**以保存設定
該存放庫現在定期像到程存放庫。您可以過選**立即同步**来强制同步。如果出現错误,会显示一消息助您解决问题
該存放庫現在定期像到程存放庫。您可以過選**立即同步**來強制同步。如果出現錯誤,會顯示一消息助您解決問題
:::warning
:exclamation::exclamation: **注意:** 这将强制推送到程存放庫。这将覆盖远程存放庫中的任何更改! :exclamation::exclamation:
:exclamation::exclamation: **注意:** 這將強制推送到程存放庫。這將覆蓋遠程存放庫中的任何更改! :exclamation::exclamation:
:::
### Gitea 向 GitHub 设置推送
### Gitea 向 GitHub 設定推送
Gitea 设置镜像到 GitHub您需要按照以下步進行操作:
Gitea 設定鏡像到 GitHub您需要按照以下步進行操作:
1. 建立一具有選中 _public_repo_ 選的 [GitHub 个人访问令牌](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)。
2. 在 GitHub 上建立一同名的存放庫。 Gitea 不同GitHub 不支通過推送到远程来建立存放庫。如果您的現有程存放庫您的 Gitea 存放庫具有相同的提交史,您也可以使用現有的程存放庫。
3. 在您的 Gitea 存放庫设置中,填**Git 程存放庫 URL**`https://github.com/<your_github_group>/<your_github_project>.git`
4. 使用您的 GitHub 使用者名填写**授**字段,並将个人访问令牌作為**密碼**。
5. (可選,适用于 Gitea 1.18+)選`推送新提交同步`这样一旦有更改,镜像将会及时更新。如果您意,您還可以禁用定期同步。
6.**添加推送像**以保存配置
1. 建立一具有選中 _public_repo_ 選的 [GitHub 個人存取權杖](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)。
2. 在 GitHub 上建立一同名的存放庫。 Gitea 不同GitHub 不支通過推送到遠程來建立存放庫。如果您的現有程存放庫您的 Gitea 存放庫具有相同的提交史,您也可以使用現有的程存放庫。
3. 在您的 Gitea 存放庫設定中,填**Git 程存放庫 URL**`https://github.com/<your_github_group>/<your_github_project>.git`
4. 使用您的 GitHub 使用者名稱填寫**授**欄位,並將個人存取權杖作為**密碼**。
5. (可選,適用於 Gitea 1.18+)選`推送新提交同步`這樣一旦有更改,鏡像將會及時更新。如果您意,您還可以禁用定期同步。
6.**添加推送像**以保存設定
存放庫很快進行推送。要制推送,請選**立即同步**按
存放庫很快進行推送。要制推送,請選**立即同步**按
### Gitea 向 GitLab 设置推送
### Gitea 向 GitLab 設定推送
Gitea 设置镜像到 GitLab您需要按照以下步進行操作:
Gitea 設定鏡像到 GitLab您需要按照以下步進行操作:
1. 建立具有 _write_repository_ 作用域的 [GitLab 个人访问令牌](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)。
2.**Git 程存放庫 URL**`https://<destination host>/<your_gitlab_group_or_name>/<your_gitlab_project>.git`
3. 在**授**字段中填 `oauth2` 作為**使用者名**,並您的 GitLab 个人访问令牌作為**密碼**。
4.**添加推送像**以保存配置
1. 建立具有 _write_repository_ 作用域的 [GitLab 個人存取權杖](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)。
2.**Git 程存放庫 URL**`https://<destination host>/<your_gitlab_group_or_name>/<your_gitlab_project>.git`
3. 在**授**欄位中填 `oauth2` 作為**使用者名**,並您的 GitLab 個人存取權杖作為**密碼**。
4.**添加推送像**以保存設定
存放庫很快進行推送。要制推送,請選**立即同步**按
存放庫很快進行推送。要制推送,請選**立即同步**按
### Gitea 向 Bitbucket 设置推送
### Gitea 向 Bitbucket 設定推送
Gitea 设置镜像到 Bitbucket您需要按照以下步進行操作:
Gitea 設定鏡像到 Bitbucket您需要按照以下步進行操作:
1. 建立一具有選中 _Repository Write_的 [Bitbucket 應用密碼](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/)。
2.**Git 程存放庫 URL**`https://bitbucket.org/<your_bitbucket_group_or_name>/<your_bitbucket_project>.git`
3. 使用您的 Bitbucket 使用者名填写**授**字段,並應用密碼作為**密碼**。
4.**添加推送像**以保存配置
1. 建立一具有選中 _Repository Write_的 [Bitbucket 應用密碼](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/)。
2.**Git 程存放庫 URL**`https://bitbucket.org/<your_bitbucket_group_or_name>/<your_bitbucket_project>.git`
3. 使用您的 Bitbucket 使用者名稱填寫**授**欄位,並應用密碼作為**密碼**。
4.**添加推送像**以保存設定
存放庫很快進行推送。要制推送,請選**立即同步**按
存放庫很快進行推送。要制推送,請選**立即同步**按
### 像現有的 ssh 存放庫
### 像現有的 ssh 存放庫
Gitea 不支持从 ssh 存放庫進行像。如果您想要像一 ssh 存放庫,您需要将其转换為 http 存放庫。您可以使用以下命令現有的 ssh 存放庫转换為 http 存放庫:
Gitea 不支援從 ssh 存放庫進行像。如果您想要像一 ssh 存放庫,您需要將其轉換為 http 存放庫。您可以使用以下命令現有的 ssh 存放庫轉換為 http 存放庫:
1. 确保运行 gitea 的使用者有权限访问您试图从 shell 像到的 git 存放庫。
2. 在 Web 面的版本库设置 > git 子中為像添加一接收后钩子。
1. 確保運行 gitea 的使用者有權限訪問您試圖從 shell 像到的 git 存放庫。
2. 在 Web 面的版本庫設定 > git 子中為像添加一接收後鉤子。
```
#!/usr/bin/env bash

View File

@@ -8,15 +8,15 @@ aliases:
# 模板存放庫
Gitea `1.11.0` 及以上版本引入了模板存放庫,並且其中一个实現的功能是自动展开模板文件中的特定量。
Gitea `1.11.0` 及以上版本引入了模板存放庫,並且其中一個實現的功能是自動展開模板文件中的特定量。
要告 Gitea 哪些文件需要展,您必須在模板存放庫的 `.gitea` 目錄中包含一 `template` 文件。
要告 Gitea 哪些文件需要展,您必須在模板存放庫的 `.gitea` 目錄中包含一 `template` 文件。
Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 作為其 glob 法。它与传统`.gitignore` 法非常相似,但可能存在微的差
Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 作為其 glob 法。它與傳統`.gitignore` 法非常相似,但可能存在微的差
## `.gitea/template` 文件
## `.gitea/template` 文件
所有路都是相對於存放庫的根目錄
所有路都是相對於存放庫的根目錄
```gitignore
# 存放庫中的所有 .go 文件
@@ -28,21 +28,21 @@ text/*.txt
# 特定文件
a/b/c/d.json
# 匹配批理文件的大小写变
# 匹配批理文件的大小寫變
**.[bB][aA][tT]
```
**注意:** 当从模板生成存放庫`.gitea` 目錄中的 `template` 文件将被删除。
**注意:** 當從模板生成存放庫`.gitea` 目錄中的 `template` 文件將被刪除。
## 參數展
## 參數展
上述通配符匹配的任何文件中,将会扩展某些量。
上述通配符匹配的任何文件中,將會擴展某些量。
文件名和路的匹配也可以被展,並且会经過谨慎的清理理,以支跨平台的文件系
文件名和路的匹配也可以被展,並且會經過謹慎的清理理,以支跨平台的文件系
所有量都必須`$VAR``${VAR}`的形式。要转义扩展,使用`$$`,例如`$$VAR``$${VAR}`
所有量都必須`$VAR``${VAR}`的形式。要轉義擴展,使用`$$`,例如`$$VAR``$${VAR}`
| 量 | 展為 | 可转换 |
| 量 | 展為 | 可轉換 |
| -------------------- | ----------------------------- | ------ |
| REPO_NAME | 生成的存放庫名稱 | ✓ |
| TEMPLATE_NAME | 模板存放庫名稱 | ✓ |
@@ -50,22 +50,22 @@ a/b/c/d.json
| TEMPLATE_DESCRIPTION | 模板存放庫描述 | ✘ |
| REPO_OWNER | 生成的存放庫所有者 | ✓ |
| TEMPLATE_OWNER | 模板存放庫所有者 | ✓ |
| REPO_LINK | 生成的存放庫接 | ✘ |
| TEMPLATE_LINK | 模板存放庫接 | ✘ |
| REPO_HTTPS_URL | 生成的存放庫的 HTTP(S) 克隆接 | ✘ |
| TEMPLATE_HTTPS_URL | 模板存放庫的 HTTP(S) 克隆接 | ✘ |
| REPO_SSH_URL | 生成的存放庫的 SSH 克隆接 | ✘ |
| TEMPLATE_SSH_URL | 模板存放庫的 SSH 克隆接 | ✘ |
| REPO_LINK | 生成的存放庫接 | ✘ |
| TEMPLATE_LINK | 模板存放庫接 | ✘ |
| REPO_HTTPS_URL | 生成的存放庫的 HTTP(S) 克隆接 | ✘ |
| TEMPLATE_HTTPS_URL | 模板存放庫的 HTTP(S) 克隆接 | ✘ |
| REPO_SSH_URL | 生成的存放庫的 SSH 克隆接 | ✘ |
| TEMPLATE_SSH_URL | 模板存放庫的 SSH 克隆接 | ✘ |
## 转换器 :robot:
## 轉換器 :robot:
Gitea `1.12.0` 添加了一些转换器以應用上述用的量。
Gitea `1.12.0` 添加了一些轉換器以應用上述用的量。
例如,要以 `PASCAL`-case `REPO_NAME`,你的模板應使用 `${REPO_NAME_PASCAL}`
例如,要以 `PASCAL`-case `REPO_NAME`,你的模板應使用 `${REPO_NAME_PASCAL}`
`go-sdk` 传递给可用的转换器的效果如下...
`go-sdk` 傳遞給可用的轉換器的效果如下...
| 转换器 | 效果 |
| 轉換器 | 效果 |
| ------ | ------ |
| SNAKE | go_sdk |
| KEBAB | go-sdk |

View File

@@ -8,25 +8,25 @@ aliases:
# Webhooks
Gitea 支持用于存放庫事件的 Webhooks。可以在存放庫管理员在设置页`/:username/:reponame/settings/hooks` 中進行配置。Webhooks 還可以基組織和整个系统進行配置
所有事件推送都是 POST 請求。目前支
Gitea 支援用於存放庫事件的 Webhooks。可以在存放庫管理員在設定頁`/:username/:reponame/settings/hooks` 中進行設定。Webhooks 還可以基組織和整個系統進行設定
所有事件推送都是 POST 請求。目前支
- Gitea (也可以是 GET 請求)
- Gogs
- Slack
- Discord
- Dingtalk钉钉
- Dingtalk釘釘
- Telegram
- Microsoft Teams
- Feishu
- Wechatwork微信)
- Wechatwork微信)
- Packagist
### 事件信息
### 事件資訊
**警告**:自 Gitea 1.13.0 版起payload 中的 `secret` 字段已被用,並在 1.14.0 版中移除https://github.com/go-gitea/gitea/issues/11755
**警告**:自 Gitea 1.13.0 版起payload 中的 `secret` 欄位已被用,並在 1.14.0 版中移除https://github.com/go-gitea/gitea/issues/11755
以下是 Gitea 将发送给 payload URL 的事件信息示例:
以下是 Gitea 將發送給 payload URL 的事件資訊範例:
```http
X-GitHub-Delivery: f6266f16-1bf3-46a5-9ea4-602e06ead473
@@ -108,19 +108,19 @@ X-Gitea-Event: push
}
```
###
###
是一个示例,演示如何使用 Webhooks 在推送請求到存放庫时运行一 php 本。
在你的存放庫设置中,在 Webhooks 下,设置一个如下的 Gitea webhook
是一個範例,演示如何使用 Webhooks 在推送請求到存放庫時運行一 php 本。
在你的存放庫設定中,在 Webhooks 下,設定一個如下的 Gitea webhook
- URLhttp://mydomain.com/webhook.php
- URLhttp://mydomain.com/webhook.php
- HTTP 方法POST
- POST Content Typeapplication/json
- Secret123
- 触发条件:推送事件
- 觸發條件:推送事件
- 激活:勾選
現在在你的服器上建立 php 文件 webhook.php。
現在在你的服器上建立 php 文件 webhook.php。
```php
<?php
@@ -178,8 +178,8 @@ if (json_last_error() !== JSON_ERROR_NONE) {
// success, do something
```
在 Webhook 设置中有一个“测试推送Test Delivery”按,可以测试配置,還有一“最近推送记录Recent Deliveries”的列表。
在 Webhook 設定中有一個“測試推送Test Delivery”按,可以測試設定,還有一“最近推送記錄Recent Deliveries”的列表。
### 授权头Authorization header
### 授權頭Authorization header
** 1.19 版本**Gitea 的 Webhook 可以配置為向 Webhook 目标发送一 [权头authorization header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization)。
** 1.19 版本**Gitea 的 Webhook 可以設定為向 Webhook 目標發送一 [權頭authorization header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization)。