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

---------

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

View File

@@ -10,9 +10,9 @@ sidebar_position: 20
## 要求
目前 runner 支兩種運行模式。一種是在 docker 容器中運行,另一種是在主機上運行。如果選擇在 [docker](https://docker.com) 容器中運行作業,建議先 [安裝 docker](https://docs.docker.com/engine/install/) 並確保 docker 守護進程正在運行。
目前 runner 支兩種運行模式。一種是在 docker 容器中運行,另一種是在主機上運行。如果選擇在 [docker](https://docker.com) 容器中運行作業,建議先 [安裝 docker](https://docs.docker.com/engine/install/) 並確保 docker 守護進程正在運行。
其他與 Docker API 容的 OCI 容器引擎也應該可以工作,但未經測試。
其他與 Docker API 容的 OCI 容器引擎也應該可以工作,但未經測試。
但是,如果您確定只想在主機上直接運行作業,則不需要 docker。
@@ -26,52 +26,52 @@ sidebar_position: 20
但是,如果您想使用最新的夜間構建,可以從 [下載頁面](https://dl.gitea.com/act_runner/) 下載。
下載二進制文件時,請確保下載了適合您平台的正確文件。
如果您使用的是類 Unix 操作系統,可以過運行以下命令進行檢查。
如果您使用的是類 Unix 操作系統,可以過運行以下命令進行檢查。
```bash
chmod +x act_runner
./act_runner --version
```
如果看到版本信息,則表示您已下載了正確的二進制文件。
如果看到版本資訊,則表示您已下載了正確的二進制文件。
### 獲取註冊令牌
您可以在不同級別註冊 runner它可以是
- 實例級別runner 將為實例中的所有庫運行作業。
- 組織級別runner 將為組織中的所有庫運行作業。
- 庫級別runner 將為其所屬的庫運行作業。
- 實例級別runner 將為實例中的所有儲存庫運行作業。
- 組織級別runner 將為組織中的所有儲存庫運行作業。
- 儲存庫級別runner 將為其所屬的儲存庫運行作業。
請注意,即使庫有自己的庫級別 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`
註冊令牌也可以從 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
```
令牌在註銷並使用 web 面中的令牌重置鏈接替換為新令牌之前,對註冊多個 runner 有效。
令牌在註銷並使用 Web 面中的令牌重置鏈接替換為新令牌之前,對註冊多個 runner 有效。
### 配置
### 設定
配置是通過配置文件完成的。它是可選的,當未指定配置文件時,將使用默認配置。您可以過運行以下命令生成配置文件:
設定是通過設定文件完成的。它是可選的,當未指定設定文件時,將使用預設設定。您可以過運行以下命令生成設定文件:
```bash
./act_runner generate-config
```
默認配置是安全的,可以直接使用。
預設設定是安全的,可以直接使用。
```bash
./act_runner generate-config > config.yaml
@@ -82,24 +82,24 @@ gitea --config /etc/gitea/app.ini actions generate-runner-token
在運行 act runner 之前需要註冊,因為 runner 需要知道從哪裡獲取作業。這對於 Gitea 實例識別 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 標籤,可選。如果留空,將使用默認標籤。
- runner 標籤,可選。如果留空,將使用預設標籤。
您可能會對 runner 標籤感到困惑,稍後將解釋。
@@ -110,16 +110,16 @@ gitea --config /etc/gitea/app.ini actions generate-runner-token
```
註冊 runner 後,您可以在當前目錄中找到一個名為 `.runner` 的新文件。
該文件存儲註冊信息
該文件儲存註冊資訊
請不要手動編輯它。
如果該文件丟失或損壞,您可以簡單地刪除它並重新註冊。
如果您想將註冊信息存儲在其他位置,可以在配置文件中指定,
如果您想將註冊資訊儲存在其他位置,可以在設定文件中指定,
並且不要忘記指定 `--config` 選項。
### 在命令行中啟動 runner
註冊 runner 後,可以過運行以下命令運行它:
註冊 runner 後,可以過運行以下命令運行它:
```shell
./act_runner daemon
@@ -135,7 +135,7 @@ runner 將從 Gitea 實例中獲取作業並自動運行它們。
### 使用 Systemd 啟動 runner
也可以將 act-runner 作為 [systemd](https://en.wikipedia.org/wiki/Systemd) 服務運行。在系統上建一個非特權的 `act_runner` 用戶,並在 `/etc/systemd/system/act_runner.service`建以下文件。`ExecStart``WorkingDirectory` 中的路徑可能需要根據您安裝 `act_runner` 二進制文件、其配置文件和 `act_runner` 用戶的主目錄進行調整。
也可以將 act-runner 作為 [systemd](https://en.wikipedia.org/wiki/Systemd) 服務運行。在系統上建一個非特權的 `act_runner` 使用者,並在 `/etc/systemd/system/act_runner.service` 中建以下文件。`ExecStart``WorkingDirectory` 中的路徑可能需要根據您安裝 `act_runner` 二進制文件、其設定文件和 `act_runner` 使用者的主目錄進行調整。
```ini
[Unit]
@@ -165,11 +165,11 @@ sudo systemctl daemon-reload
sudo systemctl enable act_runner --now
```
如果使用 Docker應在啟動服務之前將 `act_runner` 用戶添加到 `docker` 組。請記住,這實際上給了 `act_runner` 對系統的 root 訪問權限 [[1]](https://docs.docker.com/engine/security/#docker-daemon-attack-surface)。
如果使用 Docker應在啟動服務之前將 `act_runner` 使用者添加到 `docker` 組。請記住,這實際上給了 `act_runner` 對系統的 root 存取權限 [[1]](https://docs.docker.com/engine/security/#docker-daemon-attack-surface)。
### 使用 LaunchDaemon(macOS) 啟動 runner
Mac 使用 `launchd` 代替 systemd 註冊守護進程。默認情況下,守護進程以 root 用戶身份運行,因此如果需要,可以`dscl` 工具建一個非特權的 `_act_runner` 用戶。然後應在 `/Library/LaunchDaemon/com.gitea.act_runner.plist` 目錄中建以下文件。`WorkingDirectory``ProgramArguments``StandardOutPath``StandardErrPath``HOME` 環境變量的路徑可能需要更新以反映您的安裝。此外,任何不在`PATH` 中的可執行文件都需要顯式包含,並且不會從現有配置中繼承。
Mac 使用 `launchd` 代替 systemd 註冊守護進程。預設情況下,守護進程以 root 使用者身份運行,因此如果需要,可以`dscl` 工具建一個非特權的 `_act_runner` 使用者。然後應在 `/Library/LaunchDaemon/com.gitea.act_runner.plist` 目錄中建以下文件。`WorkingDirectory``ProgramArguments``StandardOutPath``StandardErrPath``HOME` 環境變量的路徑可能需要更新以反映您的安裝。此外,任何不在`PATH` 中的可執行文件都需要顯式包含,並且不會從現有設定中繼承。
```xml
<?xml version="1.0" encoding="UTF-8"?>
@@ -214,7 +214,7 @@ Mac 使用 `launchd` 代替 systemd 註冊守護進程。默認情況下,守
sudo launchctl load /Library/LaunchDaemon/com.gitea.act_runner.plist
```
您還可以設 Linux 服務或 Windows 服務,以便 runner 自動運行。
您還可以設 Linux 服務或 Windows 服務,以便 runner 自動運行。
## 使用 docker 映像安裝
@@ -233,15 +233,15 @@ docker pull docker.io/gitea/act_runner:latest # 用於最新的穩定版本
docker pull docker.io/gitea/act_runner:nightly # 用於最新的夜間構建
```
### 配置
### 設定
配置是可選的,但您也可以使用 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 ...
@@ -252,7 +252,7 @@ docker run -v $PWD/config.yaml:/config.yaml -e CONFIG_FILE=/config.yaml ...
### 使用 docker 啟動 runner
如果您使用的是 docker 映像,行為會略有不同。在這種情況下,註冊和運行結合為一步,因此您需要在運行 act runner 時指定註冊信息
如果您使用的是 docker 映像,行為會略有不同。在這種情況下,註冊和運行結合為一步,因此您需要在運行 act runner 時指定註冊資訊
使用 docker run 快速啟動如下。您需要從上述步驟中獲取 `<registration_token>`,並為 `<runner_name>` 提供一個特殊的唯一名稱
@@ -265,7 +265,7 @@ docker run \
-d docker.io/gitea/act_runner:nightly
```
有更多參數可以配置它。
有更多參數可以設定它。
```bash
docker run \
@@ -288,7 +288,7 @@ docker run \
### 使用 docker compose 啟動 runner
您還可以使用以下 `docker-compose.yml` runner
您還可以使用以下 `docker-compose.yml` runner
```yml
version: "3.8"
@@ -309,23 +309,23 @@ services:
使用 docker 時,不需要進入容器並手動運行 `./act_runner daemon` 命令。容器成功啟動後,它將顯示為您的 Gitea 實例中的活動 runner。
## 高級配置
## 高級設定
### 使用 docker 映像啟動 runner 時配置緩存
### 使用 docker 映像啟動 runner 時設定緩存
如果您不打算在工作流中使用 `actions/cache`,可以忽略此部分。
如果在沒有任何額外配置的情況下使用 `actions/cache`,它將返回以下錯誤:
如果在沒有任何額外設定的情況下使用 `actions/cache`,它將返回以下錯誤:
> Failed to restore: getCacheEntry failed: connect ETIMEDOUT IP:PORT
發生此錯誤是因為 runner 容器和作業容器位於不同的網上,因此作業容器無法訪問 runner 容器。
發生此錯誤是因為 runner 容器和作業容器位於不同的網上,因此作業容器無法訪問 runner 容器。
因此,必須配置緩存操作以確保其正常運行。請按照以下步驟操作:
因此,必須設定緩存操作以確保其正常運行。請按照以下步驟操作:
- 1.獲取運行 runner 容器的主機的 LAN IP 地址。
- 2.查找運行 runner 容器的主機上的可用端口號。
- 3.在配置文件中配置以下設
- 3.在設定文件中設定以下設
```yaml
cache:
@@ -350,17 +350,17 @@ docker run \
runner 的標籤用於確定 runner 可以運行哪些作業以及如何運行它們。
默認標籤是 `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` 的作業,並且作業將在 docker 容器中運行,映像為 `node:16-bullseye`
如果默認映像不足以滿足您的需求,並且您有足夠的磁盤空間使用更好更大的映像,可以將其更改為 `ubuntu-22.04:docker://<the image you like>`
如果預設映像不足以滿足您的需求,並且您有足夠的磁盤空間使用更好更大的映像,可以將其更改為 `ubuntu-22.04:docker://<the image you like>`
您可以在 [act images](https://github.com/nektos/act/blob/master/IMAGES.md) 上找到更多有用的映像。
如果您想在主機上直接運行作業,可以將其更改為 `ubuntu-22.04:host` 或僅 `ubuntu-22.04``:host` 是可選的。
但是,我們建議您使用一個特殊的名稱,如 `linux_amd64:host``windows:host` 以避免誤用。
從 Gitea 1.21 開始,您可以過修改 runner 配置文件中的 `runners.labels` 來更改標籤(如果您沒有配置文件,請參考 [配置教程](#configuration))。
從 Gitea 1.21 開始,您可以過修改 runner 設定文件中的 `runners.labels` 來更改標籤(如果您沒有設定文件,請參考 設定教學)。
重新啟動 runner 後,它將使用這些新標籤,即通過調用 `./act_runner daemon --config config.yaml`

View File

@@ -6,12 +6,12 @@ sidebar_position: 110
# 徽章
Gitea 內置了徽章系統,允許您在其他地方顯示庫的狀態。您可以使用以下徽章:
Gitea 內置了徽章系統,允許您在其他地方顯示儲存庫的狀態。您可以使用以下徽章:
## 工作流程徽章
Gitea Actions 工作流程徽章是一個顯示最新工作流程運行狀態的徽章。
它設計為與 [GitHub Actions 工作流程徽章](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge) 容。
它設計為與 [GitHub Actions 工作流程徽章](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge) 容。
您可以使用以下 URL 獲取徽章:
@@ -19,8 +19,8 @@ Gitea Actions 工作流程徽章是一個顯示最新工作流程運行狀態的
https://your-gitea-instance.com/{owner}/{repo}/actions/workflows/{workflow_file}/badge.svg?branch={branch}&event={event}
```
- `{owner}`: 庫的所有者。
- `{repo}`: 庫的名稱。
- `{owner}`: 儲存庫的所有者。
- `{repo}`: 儲存庫的名稱。
- `{workflow_file}`: 工作流程文件的名稱。
- `{branch}`: 可選。工作流程的分支。默認為倉庫的默認分支。
- `{event}`: 可選。工作流程的事件。默認為無。
- `{branch}`: 可選。工作流程的分支。預設為儲存庫的預設分支。
- `{event}`: 可選。工作流程的事件。預設為無。

View File

@@ -6,25 +6,25 @@ sidebar_position: 120
# 與 GitHub Actions 的比較
儘管 Gitea Actions 設計為與 GitHub Actions 容,但它們之間仍存在一些差異。
儘管 Gitea Actions 設計為與 GitHub Actions 容,但它們之間仍存在一些差異。
## 附加功能
### 絕對操作 URL
Gitea Actions 支通過絕對 URL 定義操作,這意味著您可以使用來自任何 git 庫的操作。
Gitea Actions 支通過絕對 URL 定義操作,這意味著您可以使用來自任何 git 儲存庫的操作。
例如 `uses: https://github.com/actions/checkout@v4``uses: http://your_gitea.com/owner/repo@branch`
### 用 Go 編寫的操作
Gitea Actions 支用 Go 編寫操作。
請參閱 [建 Go 操作](https://blog.gitea.com/creating-go-actions/)。
Gitea Actions 支用 Go 編寫操作。
請參閱 [ Go 操作](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`
@@ -68,58 +68,58 @@ GitHub Actions 不支持這一點。https://docs.github.com/en/actions/using-wor
請參閱 [GitHub Actions 的工作流程語法](https://docs.github.com/en/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]`
## 缺少的功能
### 包庫授權
### 包儲存庫授權
庫內運行的作業的 `GITEA_TOKEN` 應該能夠發布到相關的包庫(即上傳 OCI 映像)。請參閱 [自動令牌身份驗證](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) 中的“包”範圍的“默認訪問”。
儲存庫內運行的作業的 `GITEA_TOKEN` 應該能夠發布到相關的包儲存庫(即上傳 OCI 映像)。請參閱 [自動令牌身份驗證](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) 中的“包”範圍的“預設訪問”。
目前 Gitea Actions 尚未實現此功能。Gitea Actions 的一個解決方法是使用個人訪問令牌PAT。請參閱此 [github 問題和評論](https://github.com/go-gitea/gitea/issues/23642#issuecomment-2119876692) 以跟此功能。
目前 Gitea Actions 尚未實現此功能。Gitea Actions 的一個解決方法是使用個人存取權杖PAT。請參閱此 [github 問題和評論](https://github.com/go-gitea/gitea/issues/23642#issuecomment-2119876692) 以跟此功能。
### 問題匹配器
問題匹配器是一種掃描操作輸出以查找指定正則表達式模式並在 UI 中突出顯示該信息的方法。
問題匹配器是一種掃描操作輸出以查找指定正則表達式模式並在 UI 中突出顯示該資訊的方法。
請參閱 [問題匹配器](https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md)。
目前 Gitea Actions 忽略它。
### 建錯誤註釋
### 建錯誤註釋
請參閱 [為錯誤建註釋](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#example-creating-an-annotation-for-an-error)
請參閱 [為錯誤建註釋](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#example-creating-an-annotation-for-an-error)
目前 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 功能
### 預處理和後處理步驟
預處理和後處理步驟在作業日誌用戶界面中沒有自己的部分。
預處理和後處理步驟在作業日誌使用者介面中沒有自己的部分。
### 服務步驟
服務步驟在作業日誌用戶界面中沒有自己的部分。
服務步驟在作業日誌使用者介面中沒有自己的部分。
## 不同的行為
### 下載操作
以前1.21.0 之前),`[actions].DEFAULT_ACTIONS_URL` 默認`https://gitea.com`
以前1.21.0 之前),`[actions].DEFAULT_ACTIONS_URL` 預設`https://gitea.com`
我們已經限制了此選項僅允許兩個值(`github``self`)。
當設`github` 時,新的默認Gitea 將從 `https://github.com` 下載非完全限定的操作。
例如,如果您使用 `uses: actions/checkout@v4`,它將從 `https://github.com/actions/checkout.git` 下載 checkout 庫。
當設`github` 時,新的預設Gitea 將從 `https://github.com` 下載非完全限定的操作。
例如,如果您使用 `uses: actions/checkout@v4`,它將從 `https://github.com/actions/checkout.git` 下載 checkout 儲存庫。
如果您想從其他 git 託管服器下載操作,可以使用絕對 URL例如 `uses: https://gitea.com/actions/checkout@v4`
如果您想從其他 git 託管服器下載操作,可以使用絕對 URL例如 `uses: https://gitea.com/actions/checkout@v4`
如果您的 Gitea 實例位於內部網或受限區域,您可以將 URL 設`self`,以便默認僅從您自己的實例下載操作。
如果您的 Gitea 實例位於內部網或受限區域,您可以將 URL 設`self`,以便預設僅從您自己的實例下載操作。
當然,您仍然可以在工作流程中使用絕對 URL。
有關 `[actions].DEFAULT_ACTIONS_URL` 配置的更多詳細信息,請參閱 [配置備忘單](../../administration/config-cheat-sheet.md#actions-actions)。
有關 `[actions].DEFAULT_ACTIONS_URL` 設定的更多詳細資訊,請參閱 [設定備忘單](../../administration/config-cheat-sheet.md)。
### 上下文可用性

View File

@@ -6,78 +6,78 @@ sidebar_position: 140
# Gitea Actions 的設計
Gitea Actions 有多個件。本文件將分別描述它們。
Gitea Actions 有多個件。本文件將分別描述它們。
## Act
[nektos/act](https://github.com/nektos/act) 項目是一個出色的工具,允許您在本地運行 GitHub Actions。
[nektos/act](https://github.com/nektos/act) 專案是一個出色的工具,允許您在本地運行 GitHub Actions。
我們受此啟發,想知道是否可以為 Gitea 運行操作。
然而,雖然 [nektos/act](https://github.com/nektos/act) 被設計為命令行工具,但我們實際上需要的是一個專門為 Gitea 進行修改的 Go 庫。
所以我們將其分叉為 [gitea/act](https://gitea.com/gitea/act)。
這是一個軟分叉,將定期跟隨上游。
儘管添加了一些自定義提交,但我們將盡量避免更改太多原始碼。
儘管添加了一些自提交,但我們將盡量避免更改太多原始程式碼。
分叉的 act 只是 Gitea 特定用法的 shim 或適配器。
已經進行了一些額外的提交,例如:
- 將執行日誌輸出到 logger 鉤子,以便可以報告給 Gitea
- 禁用 GraphQL URL因為 Gitea 不支
- 禁用 GraphQL URL因為 Gitea 不支
- 為每個作業啟動一個新容器,而不是重用,以確保隔離。
這些修改沒有理由合併到上游。
如果用戶只想在本地運行受信任的操作,這些修改沒有意義。
如果使用者只想在本地運行受信任的操作,這些修改沒有意義。
然而,未來可能會有重疊,例如兩個項目都需要的錯誤修復或新功能。
在這些情況下,我們將把更改貢獻回上游庫。
然而,未來可能會有重疊,例如兩個專案都需要的錯誤修復或新功能。
在這些情況下,我們將把更改貢獻回上游儲存庫。
## Act runner
Gitea 的 runner 被稱為 act runner因為它基於 act。
像其他 CI runner 一樣,我們將其設計為 Gitea 的外部部分,這意味著它應該在與 Gitea 不同的服器上運行。
像其他 CI runner 一樣,我們將其設計為 Gitea 的外部部分,這意味著它應該在與 Gitea 不同的服器上運行。
為了確保 runner 連接到正確的 Gitea 實例,我們需要使用令牌註冊它。
此外runner 將向 Gitea 介紹自己並通過報告其標籤來聲明它可以運行的作業類型。
前面提到過,工作流程文件中的 `runs-on: ubuntu-latest` 意味著作業將在具有 `ubuntu-latest` 標籤的 runner 上運行。
但是 runner 如何知道運行 `ubuntu-latest`?答案在於將標籤映射到環境。
這就是為什麼在註冊期間添加自定義標籤時,您需要輸入一些複雜的內容,如 `my_custom_label:docker://centos:7`
這就是為什麼在註冊期間添加自標籤時,您需要輸入一些複雜的內容,如 `my_custom_label:docker://centos:7`
這意味著 runner 可以接受需要在 `my_custom_label` 上運行的作業,並將其通過 docker 容器運行,映像為 `centos:7`
然而docker 並不是唯一的選擇。
act 還支直接在主機上運行作業。
act 還支直接在主機上運行作業。
這是通過標籤如 `linux_arm:host` 實現的。
這個標籤表示 runner 可以接受需要在 `linux_arm` 上運行的作業,並直接在主機上運行它。
標籤的設計遵循格式 `label[:schema[:args]]`
如果省略 schema默認`host`
如果省略 schema預設`host`
所以,
- `my_custom_label:docker://node:18`: 使用 `node:18` Docker 映像運行標籤為 `my_custom_label` 的作業。
- `my_custom_label:host`: 直接在主機上運行標籤為 `my_custom_label` 的作業。
- `my_custom_label`: 與 `my_custom_label:host` 相同。
- `my_custom_label:vm:ubuntu-latest`: (僅例,未實現)使用 `ubuntu-latest` ISO 的虛擬機運行標籤為 `my_custom_label` 的作業。
- `my_custom_label:vm:ubuntu-latest`: (僅例,未實現)使用 `ubuntu-latest` ISO 的虛擬機運行標籤為 `my_custom_label` 的作業。
## 通信協議
由於 act runner 是 Gitea 的獨立部分,我們需要一個協議來讓 runner 與 Gitea 實例通信。
然而,我們認為讓 Gitea 監聽一個新端口不是一個好主意。
相反,我們希望重用 HTTP 端口,這意味著我們需要一個與 HTTP 容的協議。
相反,我們希望重用 HTTP 端口,這意味著我們需要一個與 HTTP 容的協議。
我們選擇使用 gRPC over HTTP。
我們使用 [actions-proto-def](https://gitea.com/gitea/actions-proto-def) 和 [actions-proto-go](https://gitea.com/gitea/actions-proto-go) 來將它們連接起來。
有關 gRPC 的更多信息可以在 [其網站](https://grpc.io/) 上找到。
有關 gRPC 的更多資訊可以在 [其網站](https://grpc.io/) 上找到。
## 網架構
## 網架構
讓我們來看看整體網架構。
讓我們來看看整體網架構。
這將幫助您排除一些問題,並解釋為什麼用 Gitea 實例的回環地址註冊 runner 是個壞主意。
![network](/images/usage/actions/network.png)
圖片中標記了四個網連接,箭頭的方向表示建立連接的方向。
圖片中標記了四個網連接,箭頭的方向表示建立連接的方向。
### 連接 1act runner 到 Gitea 實例
@@ -85,33 +85,33 @@ act runner 必須能夠連接到 Gitea 以接收任務並發送回執行結果
### 連接 2作業容器到 Gitea 實例
作業容器與 runner 有不同的網命名空間,即使它們在同一機器上。
如果工作流程中有 `actions/checkout@v4`,它們需要連接到 Gitea 以獲取碼。
運行某些作業並不總是需要獲取碼,但在大多數情況下是必需的。
作業容器與 runner 有不同的網命名空間,即使它們在同一機器上。
如果工作流程中有 `actions/checkout@v4`,它們需要連接到 Gitea 以獲取程式碼。
運行某些作業並不總是需要獲取程式碼,但在大多數情況下是必需的。
如果您使用回環地址註冊 runner當它在同一機器上時runner 可以連接到 Gitea。
但是,如果作業容器嘗試從 localhost 獲取碼,則會失敗,因為 Gitea 不在同一容器中。
如果您使用回環地址註冊 runner當它在同一機器上時runner 可以連接到 Gitea。
但是,如果作業容器嘗試從 localhost 獲取程式碼,則會失敗,因為 Gitea 不在同一容器中。
### 連接 3act runner 到互聯網
當您使用一些操作如 `actions/checkout@v4`act runner 會下載腳本,而不是作業容器。
默認情況下,它從 [github.com](http://github.com/) 下載,因此需要訪問互聯網。如果您將 `DEFAULT_ACTIONS_URL` 配置`self`,則它將默認從您的 Gitea 實例下載。然後在下載操作本身時不會連接到互聯網。
它還默認從 Docker Hub 下載一些 docker 映像,這也需要訪問互聯網。
預設情況下,它從 [github.com](http://github.com/) 下載,因此需要訪問互聯網。如果您將 `DEFAULT_ACTIONS_URL` 設定`self`,則它將預設從您的 Gitea 實例下載。然後在下載操作本身時不會連接到互聯網。
它還預設從 Docker Hub 下載一些 docker 映像,這也需要訪問互聯網。
然而,訪問互聯網並不是絕對必要的。
您可以配置您的 Gitea 實例從您的內聯設施中獲取操作或映像。
您可以設定您的 Gitea 實例從您的內聯設施中獲取操作或映像。
事實上,您的 Gitea 實例可以同時作為操作市場和映像註冊表。
您可以將操作庫從 GitHub 鏡像到您的 Gitea 實例,並正常使用它們。
您可以將操作儲存庫從 GitHub 鏡像到您的 Gitea 實例,並正常使用它們。
而 [Gitea 容器註冊表](usage/packages/container.md) 可以用作 Docker 映像註冊表。
### 連接 4作業容器到互聯網
當使用如 `actions/setup-go@v5` 的操作時,可能需要從互聯網下載資源以在作業容器中設 Go 語言環境。
當使用如 `actions/setup-go@v5` 的操作時,可能需要從互聯網下載資源以在作業容器中設 Go 語言環境。
因此,訪問互聯網是這些操作成功完成所必需的。
然而,這也是可選的。
您可以使用自己的自定義操作來避免依賴互聯網訪問,或者您可以使用打包的 Docker 映像來運行已安裝所有依賴項的作業。
您可以使用自己的自操作來避免依賴互聯網訪問,或者您可以使用打包的 Docker 映像來運行已安裝所有依賴項的作業。
## 總結
@@ -119,4 +119,4 @@ act runner 必須能夠連接到 Gitea 以接收任務並發送回執行結果
訪問互聯網是可選的,但沒有它將需要一些額外的工作。
換句話說runner 最好能夠自己查詢互聯網,但您不需要將其暴露在互聯網上(無論是入站還是出站)。
如果您在使用 Gitea Actions 時遇到任何網問題,希望上圖可以幫助您排除它們。
如果您在使用 Gitea Actions 時遇到任何網問題,希望上圖可以幫助您排除它們。

View File

@@ -8,9 +8,9 @@ sidebar_position: 200
這頁包含了一些關於 Gitea Actions 的常見問題和解答。
## 是否可以預設禁用新庫的 Actions
## 是否可以預設禁用新儲存庫的 Actions
可以,當你為實例啟用 Actions 時,你可以選擇預設為所有新庫啟用 `actions` 單元。
可以,當你為實例啟用 Actions 時,你可以選擇預設為所有新儲存庫啟用 `actions` 單元。
```ini
[repository]
@@ -21,13 +21,13 @@ DEFAULT_REPO_UNITS = ...,repo.actions
## 我們應該在工作流程文件中使用 `${{ github.xyz }}` 還是 `${{ gitea.xyz }}`
你可以使用 `github.xyz`Gitea 也能正常運作。
如前所述Gitea Actions 設計上與 GitHub Actions 容。
如前所述Gitea Actions 設計上與 GitHub Actions 容。
然而,我們建議使用 `gitea.xyz`,以防 Gitea 添加了 GitHub 沒有的功能,避免在工作流程文件中出現不同種類的 secrets而且你是在 Gitea 上使用這個工作流程,而不是 GitHub
不過,這完全是可選的,因為目前兩者的效果相同。
## 使用 `actions/checkout@v4` 等 actions 時runner 會下載腳本到哪裡?
在 GitHub 上有成千上萬的 [actions 腳本](https://github.com/marketplace?type=actions),當你寫 `uses: actions/checkout@v4` 時,它會默認從 [github.com/actions/checkout](http://github.com/actions/checkout) 下載腳本。
在 GitHub 上有成千上萬的 [actions 腳本](https://github.com/marketplace?type=actions),當你寫 `uses: actions/checkout@v4` 時,它會預設從 [github.com/actions/checkout](http://github.com/actions/checkout) 下載腳本。
但如果你想從其他地方(如 gitea.com而不是 GitHub 使用 actions 怎麼辦?
好消息是你可以指定 URL 前綴來從任何地方使用 actions。
@@ -40,26 +40,26 @@ DEFAULT_REPO_UNITS = ...,repo.actions
注意,`https://``http://` 前綴是必要的!
這是與 GitHub Actions 的一個區別,後者僅支來自 GitHub 的 actions 腳本。
但這應該允許用戶在運行 Actions 時有更多的靈活性。
這是與 GitHub Actions 的一個區別,後者僅支來自 GitHub 的 actions 腳本。
但這應該允許使用者在運行 Actions 時有更多的靈活性。
另外,如果你希望你的 runners 默認從你自己的 Gitea 實例下載 actions你可以過設 `[actions].DEFAULT_ACTIONS_URL`配置
參見 [配置備忘單](../../administration/config-cheat-sheet.md#actions-actions)。
另外,如果你希望你的 runners 預設從你自己的 Gitea 實例下載 actions你可以過設 `[actions].DEFAULT_ACTIONS_URL`設定
參見 [設定備忘單](../../administration/config-cheat-sheet.md)。
## 如何限制 runners 的權限?
Runners 只具有連接到你的 Gitea 實例的權限。
當任何 runner 接收到一個要運行的任務時,它將臨時獲得與該任務相關的庫的有限權限。
如果你想給 runner 更多的權限,允許它訪問更多的私有庫或外部系統,你可以傳遞 [secrets](usage/actions/secrets.md) 給它。
當任何 runner 接收到一個要運行的任務時,它將臨時獲得與該任務相關的儲存庫的有限權限。
如果你想給 runner 更多的權限,允許它訪問更多的私有儲存庫或外部系統,你可以傳遞 [secrets](usage/actions/secrets.md) 給它。
對 Actions 進行精細的權限控制是一項複雜的工作。
未來,我們將為 Gitea 添加更多選項,使其更具可配置性,例如允許更多的寫入訪問庫或讀取同一組織中所有倉庫的訪問權限。
未來,我們將為 Gitea 添加更多選項,使其更具可設定性,例如允許更多的寫入訪問儲存庫或讀取同一組織中所有儲存庫的存取權限。
## 如何避免被黑客攻擊?
有兩種類型的可能攻擊:未知的 runner 竊取你的庫中的碼或 secrets或惡意腳本控制你的 runner。
有兩種類型的可能攻擊:未知的 runner 竊取你的儲存庫中的程式碼或 secrets或惡意腳本控制你的 runner。
避免前者意味著不允許你不認識的人為你的庫、組織或實例註冊 runners。
避免前者意味著不允許你不認識的人為你的儲存庫、組織或實例註冊 runners。
後者則有點複雜。
如果你為你的公司使用私人 Gitea 實例,你可能不需要擔心安全問題,因為你信任你的同事並且可以追究他們的責任。
@@ -67,20 +67,20 @@ Runners 只具有連接到你的 Gitea 實例的權限。
對於公共實例,情況有點不同。
以下是我們在 [gitea.com](http://gitea.com/) 上的做法:
- 我們只為 "gitea" 組織註冊 runners因此我們的 runners 不會執行來自其他庫的任務。
- 我們只為 "gitea" 組織註冊 runners因此我們的 runners 不會執行來自其他儲存庫的任務。
- 我們的 runners 總是使用隔離的容器運行任務。雖然可以直接在主機上這樣做,但我們選擇不這樣做以提高安全性。
- 要運行 fork pull requests 的 actions需要批准。參見 [#22803](https://github.com/go-gitea/gitea/pull/22803)。
- 如果有人在 [gitea.com](http://gitea.com/) 上為他們的庫或組織註冊了他們自己的 runner我們不反對只是不會在我們的組織中使用它。然而他們應該注意確保該 runner 不被他們不認識的其他用戶使用。
- 如果有人在 [gitea.com](http://gitea.com/) 上為他們的儲存庫或組織註冊了他們自己的 runner我們不反對只是不會在我們的組織中使用它。然而他們應該注意確保該 runner 不被他們不認識的其他使用者使用。
## act runner 支哪些操作系統?
## act runner 支哪些操作系統?
它在 Linux、macOS 和 Windows 上運行良好。
雖然理論上支其他操作系統,但它們需要進一步測試。
雖然理論上支其他操作系統,但它們需要進一步測試。
需要注意的一點是,如果你選擇直接在主機上運行任務而不是在任務容器中,操作系統之間的環境差異可能會導致意外的失敗。
例如bash 在大多數情況下在 Windows 上不可用,而 act 嘗試默認使用 bash 運行腳本。
因此,你需要在工作流程文件中指定 `powershell`默認 shell參見 [defaults.run](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#defaultsrun)。
例如bash 在大多數情況下在 Windows 上不可用,而 act 嘗試預設使用 bash 運行腳本。
因此,你需要在工作流程文件中指定 `powershell`預設 shell參見 [defaults.run](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#defaultsrun)。
```yaml
defaults:
@@ -88,7 +88,7 @@ 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 系統,還是一個自動化工具。
@@ -120,32 +120,32 @@ defaults:
目前act runner 嘗試匹配標籤中的每個人並使用它找到的第一個匹配。
## runner 的代理標籤和自定義標籤有什麼區別?
## runner 的代理標籤和自標籤有什麼區別?
![labels](/images/usage/actions/labels.png)
代理標籤是在註冊期間由 runner 向 Gitea 實例報告的。
另一方面,自定義標籤是由 Gitea 管理員或組織或庫的所有者手動添加的(取決於 runner 的級別)。
另一方面,自標籤是由 Gitea 管理員或組織或儲存庫的所有者手動添加的(取決於 runner 的級別)。
然而,這裡的設計需要改進,因為它目前有一些粗糙的邊緣。
你可以向已註冊的 runner 添加自定義標籤,例如 `centos`,這意味著 runner 將接收具有 `runs-on: centos` 的任務。
然而runner 可能不知道為這個標籤使用哪個環境,導致它使用默認映像或導致邏輯死胡同
這個默認值可能不符合用戶的期望。
你可以向已註冊的 runner 添加自標籤,例如 `centos`,這意味著 runner 將接收具有 `runs-on: centos` 的任務。
然而runner 可能不知道為這個標籤使用哪個環境,導致它使用預設映像或導致邏輯死衚衕
這個預設值可能不符合使用者的期望。
參見 [runtime.go#L71](https://gitea.com/gitea/act_runner/src/commit/90b8cc6a7a48f45cc28b5ef9660ebf4061fcb336/runtime/runtime.go#L71)。
同時,我們建議你重新註冊你的 runner如果你想更改它的標籤。
## Gitea Actions runner 會有更多的實現嗎?
雖然我們希望提供更多選擇,但我們有限的人力意味著 act runner 將是唯一官方支的 runner。
然而Gitea 和 act runner 都是完全開源的,所以任何人都可以建一個新的/更好的實現。
無論你如何決定,我們都支你的選擇。
如果你 fork 了 act runner 來建你自己的版本:如果你能並且認為你的更改也會幫助其他人,請將更改貢獻回來。
雖然我們希望提供更多選擇,但我們有限的人力意味著 act runner 將是唯一官方支的 runner。
然而Gitea 和 act runner 都是完全開源的,所以任何人都可以建一個新的/更好的實現。
無論你如何決定,我們都支你的選擇。
如果你 fork 了 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)。
| 觸發事件 | 活動類型 |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------ |

View File

@@ -10,25 +10,25 @@ sidebar_position: 1
## 名稱
它類似並容於 [GitHub Actions](https://github.com/features/actions),其名稱也受其啟發。
它類似並容於 [GitHub Actions](https://github.com/features/actions),其名稱也受其啟發。
為了避免混淆,我們在這裡澄清拼寫:
- "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"。
## Runners
就像其他 CI/CD 解決方案一樣Gitea 不會自己運行作業,而是將作業委派給 runners。
Gitea Actions 的 runner 稱為 [act runner](https://gitea.com/gitea/act_runner),它是一個獨立的程,也是用 Go 編寫的。
Gitea Actions 的 runner 稱為 [act runner](https://gitea.com/gitea/act_runner),它是一個獨立的程,也是用 Go 編寫的。
它基於 [nektos/act](http://github.com/nektos/act) 的 [fork](https://gitea.com/gitea/act)。
由於 runner 是獨立部署的,可能會有潛在的安全問題。
為了避免這些問題,請遵循兩個簡單的規則:
- 不要為你不信任的庫、組織或實例使用你不信任的 runner。
- 不要為你不信任的庫、組織或實例提供 runner。
- 不要為你不信任的儲存庫、組織或實例使用你不信任的 runner。
- 不要為你不信任的儲存庫、組織或實例提供 runner。
對於內部使用的 Gitea 實例,如企業或個人使用的實例,這兩個規則都不是問題,它們自然如此。
然而,對於公共 Gitea 實例,如 [gitea.com](https://gitea.com),在添加或使用 runners 時應記住這兩個規則。

View File

@@ -8,33 +8,33 @@ sidebar_position: 10
本頁將引導你使用 Gitea Actions 的過程。
## 設 Gitea
## 設 Gitea
首先,你需要一個 Gitea 實例。
你可以按照 [](installation/from-package.md) 設一個新實例或升級現有實例。
你可以按照 [](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)。
### 設 runner
### 設 runner
Gitea Actions 需要 [act runner](https://gitea.com/gitea/act_runner) 來運行作業。
為了避免消耗過多資源並影響 Gitea 實例,建議在與 Gitea 實例不同的機器上啟動 runners。
你可以使用 [預構建的二進位文件](http://dl.gitea.com/act_runner) 或 [docker 映像](https://hub.docker.com/r/gitea/act_runner/tags) 設 runner。
你可以使用 [預構建的二進位文件](http://dl.gitea.com/act_runner) 或 [docker 映像](https://hub.docker.com/r/gitea/act_runner/tags) 設 runner。
在進一步操作之前,我們建議使用預構建的二進位文件作為命令行運行它,以確保它適用於你的環境,特別是如果你在本地主機上運行 runner。
如果出現問題,這樣也更容易調試。
runner 可以在隔離的 Docker 容器中運行作業,因此你需要確保已安裝 Docker 並且 Docker 守護進程正在運行。
雖然這不是絕對必要的,因為 runner 也可以直接在主機上運行作業,這取決於你如何配置它。
雖然這不是絕對必要的,因為 runner 也可以直接在主機上運行作業,這取決於你如何設定它。
然而,建議使用 Docker 來運行作業,因為這樣更安全且更易於管理。
在運行 runner 之前,你應該首先使用以下命令將其註冊到你的 Gitea 實例:
@@ -47,22 +47,22 @@ runner 可以在隔離的 Docker 容器中運行作業,因此你需要確保
`instance` 指的是你的 Gitea 實例的地址,如 `http://192.168.8.8:3000``https://gitea.com`
runner 和作業容器(由 runner 啟動以執行作業)將連接到此地址。
這意味著它可能與你的 Gitea 實例的 `ROOT_URL` 不同,後者是為網頁訪問配置的。
這意味著它可能與你的 Gitea 實例的 `ROOT_URL` 不同,後者是為網頁訪問設定的。
使用回環地址如 `127.0.0.1``localhost` 總是個壞主意。
如果你不確定使用哪個地址,通常 LAN 地址是正確的選擇。
`token` 用於身份驗證和識別,如 `P2U1U0oB4XaRCi8azcngmPCLbRpUGapalhmddh23`
每個令牌可以用來建多個 runners直到使用重置鏈接替換為新令牌。
你可以從以下位置獲取不同級別的令牌來建相應級別的 runners
每個令牌可以用來建多個 runners直到使用重置鏈接替換為新令牌。
你可以從以下位置獲取不同級別的令牌來建相應級別的 runners
- 實例級別:管理員設頁面,如 `<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` 的新文件將出現在當前目錄中。
該文件存儲註冊信息
該文件儲存註冊資訊
請不要手動編輯它。
如果該文件丟失或損壞,你可以簡單地刪除它並重新註冊。
@@ -76,20 +76,20 @@ 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)
接下來的步驟可能相當複雜。
你需要學習 [工作流程語法](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions) 並編寫你想要的工作流程文件。
然而,我們可以從一個簡單的例開始:
然而,我們可以從一個簡單的例開始:
```yaml
name: Gitea Actions Demo
@@ -115,22 +115,22 @@ jobs:
:::warning
某些 actions 可能無法在 SHA256 庫中正常運行,或者當 Gitea 在子路徑上運行時。這包括 [actions/checkout](https://github.com/actions/checkout/issues/1843)。
某些 actions 可能無法在 SHA256 儲存庫中正常運行,或者當 Gitea 在子路徑上運行時。這包括 [actions/checkout](https://github.com/actions/checkout/issues/1843)。
:::
你可以將其作為擴展名為 `.yaml` 的文件上傳到庫的 `.gitea/workflows/` 目錄中,例如 `.gitea/workflows/demo.yaml`
你可以將其作為擴展名為 `.yaml` 的文件上傳到儲存庫的 `.gitea/workflows/` 目錄中,例如 `.gitea/workflows/demo.yaml`
你可能會注意到這與 [GitHub Actions 快速入門](https://docs.github.com/en/actions/quickstart) 非常相似。
那是因為 Gitea Actions 設計上盡可能與 GitHub Actions 容。
那是因為 Gitea Actions 設計上盡可能與 GitHub Actions 容。
請注意,例文件中包含一些表情符號。
請確保你的數據庫支它們,特別是當使用 MySQL 時。
請注意,例文件中包含一些表情符號。
請確保你的資料庫支它們,特別是當使用 MySQL 時。
如果字符集不是 `utf8mb4`,將會出現錯誤,如 `Error 1366 (HY000): Incorrect string value: '\\xF0\\x9F\\x8E\\x89 T...' for column 'name' at row 1`
有關更多信息,請參見 [數據庫準備](../../installation/database-preparation.md#mysqlmariadb)。
有關更多資訊,請參見 [資料庫準備](../../installation/database-preparation.md#mysqlmariadb)。
或者,你可以刪除例文件中的所有表情符號並重試。
或者,你可以刪除例文件中的所有表情符號並重試。
`on: [push]` 表示當你向此庫推送提交時,工作流程將被觸發。
`on: [push]` 表示當你向此儲存庫推送提交時,工作流程將被觸發。
然而,當你上傳 YAML 文件時,它也會推送一個提交,因此你應該在 Actions 標籤中看到一個新任務。
![view job](/images/usage/actions/view-job.png)

View File

@@ -6,7 +6,7 @@ sidebar_position: 50
# Secrets
Secrets 允許你在用戶、組織或倉庫中存儲敏感信息
Secrets 允許你在使用者、組織或儲存庫中儲存敏感資訊
Secrets 在 Gitea 1.19+ 可用,並且在 1.20+ 啟用 ACTIONS 時可見。
## 命名你的 secrets
@@ -17,15 +17,15 @@ Secrets 在 Gitea 1.19+ 可用,並且在 1.20+ 啟用 ACTIONS 時可見。
- Secret 名稱不得以 `GITHUB_``GITEA_` 前綴開頭。
- Secret 名稱不得以數字開頭。
- Secret 名稱不區分大小寫。
- Secret 名稱在建它們的級別上必須是唯一的。
- Secret 名稱在建它們的級別上必須是唯一的。
例如,在庫級別建的 secret 必須在該庫中具有唯一名稱,而在組織級別建的 secret 必須在該級別上具有唯一名稱。
例如,在儲存庫級別建的 secret 必須在該儲存庫中具有唯一名稱,而在組織級別建的 secret 必須在該級別上具有唯一名稱。
### 使用 secrets
創建配置變數後,它們將自動填充到 `secrets` 上下文中。
可以過表達式 `${{ secrets.SECRET_NAME }}` 在工作流程中訪問它們。
建立設定變數後,它們將自動填充到 `secrets` 上下文中。
可以過表達式 `${{ secrets.SECRET_NAME }}` 在工作流程中訪問它們。
### 優先級
如果在多個級別存在同名 secret則最低級別的 secret 優先。例如,如果組織級別的 secret 與庫級別的 secret 同名,則庫級別的 secret 優先。
如果在多個級別存在同名 secret則最低級別的 secret 優先。例如,如果組織級別的 secret 與儲存庫級別的 secret 同名,則儲存庫級別的 secret 優先。

View File

@@ -6,8 +6,8 @@ sidebar_position: 25
# 變數
您可以在用戶、組織和庫級別創建配置變數。
變數的級別取決於您建它的位置。建變數時,鍵將被轉換為大寫。您需要在 yaml 文件中使用大寫。
您可以在使用者、組織和儲存庫級別建立設定變數。
變數的級別取決於您建它的位置。建變數時,鍵將被轉換為大寫。您需要在 yaml 文件中使用大寫。
## 命名規則
@@ -17,15 +17,15 @@ sidebar_position: 25
- 變數名稱不得以 `GITHUB_``GITEA_` 前綴開頭。
- 變數名稱不得以數字開頭。
- 變數名稱不區分大小寫。
- 變數名稱在建它們的級別上必須是唯一的。
- 變數名稱在建它們的級別上必須是唯一的。
- 變數名稱不得以 `CI` 開頭。
## 使用變數
創建配置變數後,它們將自動填充到 `vars` 上下文中。
可以過表達式 `${{ vars.VARIABLE_NAME }}` 在工作流程中訪問它們。
建立設定變數後,它們將自動填充到 `vars` 上下文中。
可以過表達式 `${{ vars.VARIABLE_NAME }}` 在工作流程中訪問它們。
## 優先級
如果在多個級別存在同名變數,則最低級別的變數優先:
庫變數將始終優先於組織/用戶變數。
儲存庫變數將始終優先於組織/使用者變數。

View File

@@ -8,17 +8,17 @@ 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 或更高版本才能正常運行。
:::
## 使用 AGit 建 PR
## 使用 AGit 建 PR
AGit 允許在推送碼到遠程倉庫時創建 PR合併請求
AGit 允許在推送程式碼到遠程儲存庫時建立 PR合併請求
通過在推送時使用特定的 refspecgit 中已知的位置標識符),可以實現這一功能。
下面的例說明這一點:
下面的例說明這一點:
```shell
git push origin HEAD:refs/for/main
@@ -28,7 +28,7 @@ git push origin HEAD:refs/for/main
- `HEAD`:目標分支
- `refs/<for|draft|for-review>/<branch>`:目標 PR 類型
- `for`建一個以 `<branch>` 為目標分支的普通 PR
- `for`:建一個以 `<branch>` 為目標分支的普通 PR
- `draft`/`for-review`:目前被靜默忽略
- `<branch>/<session>`:要打開 PR 的目標分支
- `-o <topic|title|description>`PR 的選項
@@ -38,7 +38,7 @@ git push origin HEAD:refs/for/main
- `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

@@ -9,17 +9,17 @@ aliases:
# AGit
在 Gitea `1.13` 版本中,添加了對 [AGit](https://git-repo.info/en/2020/03/agit-flow-and-git-repo/) 的支援。AGit 允許用戶在沒有庫寫入權限的情況下直接建拉取請求,也不需要分叉庫。這有助於減少重複庫的數量,降低不必要的磁盤使用量。
在 Gitea `1.13` 版本中,添加了對 [AGit](https://git-repo.info/en/2020/03/agit-flow-and-git-repo/) 的支援。AGit 允許使用者在沒有儲存庫寫入權限的情況下直接建拉取請求,也不需要分叉儲存庫。這有助於減少重複儲存庫的數量,降低不必要的磁盤使用量。
:::note
伺服器端需要 Git 版本 2.29 或更高版本才能正常運行。
:::
## 使用 AGit 建 PR
## 使用 AGit 建 PR
AGit 允許在推送碼到遠程倉庫時創建 PR合併請求
AGit 允許在推送程式碼到遠程儲存庫時建立 PR合併請求
通過在推送時使用特定的 refspecgit 中已知的位置標識符),可以實現這一功能。
下面的例說明這一點:
下面的例說明這一點:
```shell
git push origin HEAD:refs/for/main
@@ -28,10 +28,10 @@ git push origin HEAD:refs/for/main
該命令的結構如下:
- `HEAD`:目標分支
- `origin`:目標庫(不是分叉!)
- `origin`:目標儲存庫(不是分叉!)
- `HEAD`:包含您提議更改的本地分支
- `refs/<for|draft|for-review>/<branch>`:目標 PR 類型和配置
- `for`建一個以 `<branch>` 為目標分支的普通 PR
- `refs/<for|draft|for-review>/<branch>`:目標 PR 類型和設定
- `for`:建一個以 `<branch>` 為目標分支的普通 PR
- `draft`/`for-review`:目前被靜默忽略
- `<branch>/`:您希望將更改合併到的分支
- `-o <topic|title|description>`PR 的選項
@@ -41,7 +41,7 @@ git push origin HEAD:refs/for/main
- `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

@@ -13,7 +13,7 @@ Gitea 支援查看文件的逐行修訂歷史,也稱為 blame 視圖。
1. 導航到並打開您要查看行歷史的文件。
1. 點擊文件標題欄中的 `Blame` 按鈕。
1. 新視圖顯示文件的逐行修訂歷史,左側顯示作者和提交信息
1. 新視圖顯示文件的逐行修訂歷史,左側顯示作者和提交資訊
1. 要導航到較舊的提交,點擊 ![versions](/octicon-versions.svg) 圖標。
## 在 blame 視圖中忽略提交
@@ -21,9 +21,9 @@ Gitea 支援查看文件的逐行修訂歷史,也稱為 blame 視圖。
所有在 `.git-blame-ignore-revs` 文件中指定的修訂都會在 blame 視圖中隱藏。
這對於隱藏重新格式化的更改並保留 `git blame` 的好處特別有用。
被忽略的提交更改或添加的行將歸咎於更改該行或附近行的上一個提交。
`.git-blame-ignore-revs` 文件必須位於庫的根目錄中。
有關文件格式的更多信息,請參見 [git blame --ignore-revs-file 文](https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-file)。
`.git-blame-ignore-revs` 文件必須位於儲存庫的根目錄中。
有關文件格式的更多資訊,請參見 [git blame --ignore-revs-file 文](https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-file)。
### 在 blame 視圖中繞過 `.git-blame-ignore-revs`
如果文件的 blame 視圖顯示有關忽略修訂的消息,您可以過附加 url 參數 `?bypass-blame-ignore=true` 查看正常的 blame 視圖。
如果文件的 blame 視圖顯示有關忽略修訂的消息,您可以過附加 url 參數 `?bypass-blame-ignore=true` 查看正常的 blame 視圖。

View File

@@ -6,42 +6,42 @@ aliases:
- /zh-tw/webhooks
---
# 封鎖用戶
# 封鎖使用者
Gitea 支援封鎖用戶,以限制他們如何與您和您的內容互動。
Gitea 支援封鎖使用者,以限制他們如何與您和您的內容互動。
您可以在帳戶設中、從用戶的個人資料或從用戶創建的評論中封鎖用戶
用戶不會直接收到封鎖通知,但當他們嘗試與您互動時,他們可能會注意到他們被封鎖。
您可以在帳戶設中、從使用者的個人資料或從使用者建立的評論中封鎖使用者
使用者不會直接收到封鎖通知,但當他們嘗試與您互動時,他們可能會注意到他們被封鎖。
組織所有者也可以封鎖任何不是組織成員的人。
如果被封鎖的用戶具有管理員權限,即使被封鎖,他們仍然可以執行所有操作。
如果被封鎖的使用者具有管理員權限,即使被封鎖,他們仍然可以執行所有操作。
### 當您封鎖用戶
### 當您封鎖使用者
- 用戶停止關注您
- 您停止關注用戶
- 用戶的星標從您的庫中移除
- 您的星標從他們的庫中移除
- 用戶停止關注您的
- 您停止關注他們的
- 用戶的問題分配從您的庫中移除
- 您的問題分配從他們的庫中移除
- 用戶被移除為您庫的合作者
- 您被移除為他們庫的合作者
- 任何待處理的庫轉移到或從被封鎖的用戶取消
- 使用者停止關注您
- 您停止關注使用者
- 使用者的星標從您的儲存庫中移除
- 您的星標從他們的儲存庫中移除
- 使用者停止關注您的儲存
- 您停止關注他們的儲存
- 使用者的問題分配從您的儲存庫中移除
- 您的問題分配從他們的儲存庫中移除
- 使用者被移除為您儲存庫的合作者
- 您被移除為他們儲存庫的合作者
- 任何待處理的儲存庫轉移到或從被封鎖的使用者取消
### 當您封鎖用戶時,用戶無法
### 當您封鎖使用者時,使用者無法
- 關注您
- 關注您的
- 星標您的
- 分叉您的
-庫轉移給您
- 在您的庫上打開問題或拉取請求
- 評論您建的問題或拉取請求
- 評論您庫上的問題或拉取請求
- 關注您的儲存
- 星標您的儲存
- 分叉您的儲存
-儲存庫轉移給您
- 在您的儲存庫上打開問題或拉取請求
- 評論您建的問題或拉取請求
- 評論您儲存庫上的問題或拉取請求
- 對您在問題或拉取請求上的評論做出反應
- 對您庫上的問題或拉取請求的評論做出反應
- 對您儲存庫上的問題或拉取請求的評論做出反應
- 將您分配到問題或拉取請求
- 將您添加為他們庫的合作者
- 通過 @提及您的用戶名向您發送通知
- 將您添加為他們儲存庫的合作者
- 通過 @提及您的使用者名稱向您發送通知
- 被添加為團隊成員(如果被組織封鎖)

View File

@@ -8,14 +8,14 @@ aliases:
# 克隆過濾器(部分克隆)
Git 引入了 `--filter` 選項到 `git clone` 命令,該選項過濾掉大文件和對象(如 blobs創建倉庫的部分克隆。
克隆過濾器對於大型庫和/或計量連接特別有用,在這種情況下,完整克隆(沒有 `--filter`)可能會很昂貴(因為必須下載所有歷史數據)。
Git 引入了 `--filter` 選項到 `git clone` 命令,該選項過濾掉大文件和對象(如 blobs建立儲存庫的部分克隆。
克隆過濾器對於大型儲存庫和/或計量連接特別有用,在這種情況下,完整克隆(沒有 `--filter`)可能會很昂貴(因為必須下載所有歷史資料)。
這需要 Gitea 伺服器和客戶端上的 Git 版本 2.22 或更高版本。為了使克隆過濾器正常工作,請確保客戶端上的 Git 版本至少與伺服器上的版本相同(或更高)。以管理員身份登到 Gitea 伺服器,前往站點管理 -> 配置以查看伺服器的 Git 版本。
這需要 Gitea 伺服器和客戶端上的 Git 版本 2.22 或更高版本。為了使克隆過濾器正常工作,請確保客戶端上的 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

@@ -6,9 +6,9 @@ aliases:
- /zh-tw/code-owners
---
# 碼所有者
# 程式碼所有者
Gitea 維護碼所有者文件。它會按以下順序在以下位置查找:
Gitea 維護程式碼所有者文件。它會按以下順序在以下位置查找:
- `./CODEOWNERS`
- `./docs/CODEOWNERS`
@@ -21,7 +21,7 @@ Gitea 維護代碼所有者文件。它會按以下順序在以下位置查找
正則表達式以 golang Regex 格式指定。
正則表達式可以以 `!` 開頭表示否定規則 - 匹配除指定文件外的所有文件。
例文件:
例文件:
```bash
.*\\.go @user1 @user2 # 這是評論

View File

@@ -8,28 +8,28 @@ aliases:
# 收件郵件
Gitea 支援通過收件郵件執行多種操作。本頁描述如何設此功能。
Gitea 支援通過收件郵件執行多種操作。本頁描述如何設此功能。
## 要求
處理收件郵件消息需要一個啟用 IMAP 的電子郵件帳戶。
推薦的策略是使用 [電子郵件子地址](https://en.wikipedia.org/wiki/Email_address#Sub-addressing) 但捕獲所有郵箱也可以工作。
接收電子郵件地址包含一個用戶/操作特定的令牌,該令牌告訴 Gitea 應執行哪個操作。
該令牌預期在 `To``Delivered-To` 標頭字段中。
接收電子電子郵件地址包含一個使用者/操作特定的令牌,該令牌告訴 Gitea 應執行哪個操作。
該令牌預期在 `To``Delivered-To` 標頭欄位中。
Gitea 嘗試檢測自動回覆以跳過,電子郵件伺服器也應配置以減少收件噪音(垃圾郵件、新聞簡報)。
Gitea 嘗試檢測自動回覆以跳過,電子郵件伺服器也應設定以減少收件噪音(垃圾郵件、新聞簡報)。
## 配置
## 設定
要啟用處理收件郵件消息,您必須在配置文件中配置 `email.incoming` 部分。
要啟用處理收件郵件消息,您必須在設定文件中設定 `email.incoming` 部分。
`REPLY_TO_ADDRESS` 包含電子郵件客戶端將回覆的地址。
此地址需要包含 `%{token}` 佔位符,該佔位符將被描述用戶/操作的令牌替換。
此佔位符必須僅出現在地址的用戶部分(在 `@` 之前)。
此地址需要包含 `%{token}` 佔位符,該佔位符將被描述使用者/操作的令牌替換。
此佔位符必須僅出現在地址的使用者部分(在 `@` 之前)。
使用電子郵件子地址的例可能如下所示:`incoming+%{token}@example.com`
使用電子郵件子地址的例可能如下所示:`incoming+%{token}@example.com`
如果使用捕獲所有郵箱,佔位符可以出現在地址的用戶部分的任何位置:`incoming+%{token}@example.com``incoming_%{token}@example.com``%{token}@example.com`
如果使用捕獲所有郵箱,佔位符可以出現在地址的使用者部分的任何位置:`incoming+%{token}@example.com``incoming_%{token}@example.com``%{token}@example.com`
## 安全性

View File

@@ -8,8 +8,8 @@ aliases:
# 問題和拉取請求模板
一些項目有一個標準的問題列表,當用戶創建問題或拉取請求時需要回答。Gitea 支援將模板添加到庫的**默認分支**,以便在用戶創建問題和拉取請求時自動填充表單。這將減少獲取一些澄清細節的初始來回。
目前無法在全範圍內提供通用的問題/拉取請求模板。
一些專案有一個標準的問題列表,當使用者建立問題或拉取請求時需要回答。Gitea 支援將模板添加到儲存庫的**預設分支**,以便在使用者建立問題和拉取請求時自動填充表單。這將減少獲取一些澄清細節的初始來回。
目前無法在全範圍內提供通用的問題/拉取請求模板。
此外,新問題頁面的 URL 可以後綴 `?title=Issue+Title&body=Issue+Text`,表單將使用這些字符串填充。如果存在模板,這些字符串將被使用而不是模板。
@@ -36,7 +36,7 @@ aliases:
- `.github/issue_template.yaml`
- `.github/issue_template.yml`
問題配置的可能文件名:
問題設定的可能文件名:
- `.gitea/ISSUE_TEMPLATE/config.yaml`
- `.gitea/ISSUE_TEMPLATE/config.yml`
@@ -70,7 +70,7 @@ aliases:
## 目錄名
或者,用戶可以在特殊目錄中建多個問題模板,並允許用戶選擇一個更具針對性地解決他們的問題。
或者,使用者可以在特殊目錄中建多個問題模板,並允許使用者選擇一個更具針對性地解決他們的問題。
問題模板的可能目錄名:
@@ -102,14 +102,14 @@ labels:
這是模板!
```
在上述例中,當用戶看到他們可以提交的問題列表時,這將顯示為 `模板名稱`,描述為 `此模板用於測試!`。提交問題時,問題標題將預填充為 `[TEST]`,而問題正文將預填充為 `這是模板!`
在上述例中,當使用者看到他們可以提交的問題列表時,這將顯示為 `模板名稱`,描述為 `此模板用於測試!`。提交問題時,問題標題將預填充為 `[TEST]`,而問題正文將預填充為 `這是模板!`
問題將分配給 `user1`
問題還將分配兩個標籤,
`bug``需要幫助`,問題將引用 `main`
## yaml 模板語法
例 YAML 配置文件使用多個輸入定義了一個問題表單來報告錯誤。
例 YAML 設定文件使用多個輸入定義了一個問題表單來報告錯誤。
```yaml
name: 錯誤報告
@@ -187,62 +187,62 @@ body:
### Markdown
您可以使用 `markdown` 元素在表單中顯示 Markdown用戶提供額外的上下文,但默認情況下不會提交。
您可以使用 `markdown` 元素在表單中顯示 Markdown使用者提供額外的上下文,但預設情況下不會提交。
屬性:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| ----- | -------------------------------- | ---- | ------ | ------ | ------ |
| value | 渲染的文本。支 Markdown 格式。 | 必需 | 字符串 | - | - |
| value | 渲染的文本。支 Markdown 格式。 | 必需 | 字符串 | - | - |
visible: 默認**[form]**
visible: 預設**[form]**
### Textarea
您可以使用 `textarea` 元素在表單中添加多行文本字段。貢獻者還可以在 `textarea` 字段中附加文件。
您可以使用 `textarea` 元素在表單中添加多行文本欄位。貢獻者還可以在 `textarea` 欄位中附加文件。
屬性:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| ----------- | -------------------------------------------------------------------------------------------------- | ---- | ------ | -------- | ------------------ |
| label | 預期用戶輸入的簡要描述,也顯示在表單中。 | 必需 | 字符串 | - | - |
| label | 預期使用者輸入的簡要描述,也顯示在表單中。 | 必需 | 字符串 | - | - |
| hide_label | 如果為 true則標籤通常用作標題不可見。 | 可選 | 布爾值 | false | - |
| description | 文本區的描述,以提供上下文或指導,顯示在表單中。 | 可選 | 字符串 | 空字符串 | - |
| placeholder | 當空時在文本區中呈現的半透明佔位符。 | 可選 | 字符串 | 空字符串 | - |
| value | 預填充在文本區中的文本。 | 可選 | 字符串 | - | - |
| render | 如果提供了值,提交的文本將格式化為碼塊。提供此鍵時,文本區將不會擴展以附加文件或 Markdown 編輯。 | 可選 | 字符串 | - | Gitea 已知的語言。 |
| render | 如果提供了值,提交的文本將格式化為程式碼塊。提供此鍵時,文本區將不會擴展以附加文件或 Markdown 編輯。 | 可選 | 字符串 | - | Gitea 已知的語言。 |
驗證:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| -------- | ---------------------------- | ---- | ------ | ------ | ------ |
| required | 在元素完成之前阻止表單提交。 | 可選 | 布爾值 | false | - |
visible: 默認**[form, content]**
visible: 預設**[form, content]**
### Input
您可以使用 `input` 元素在表單中添加單行文本字段
您可以使用 `input` 元素在表單中添加單行文本欄位
屬性:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| ----------- | ------------------------------------------------ | ---- | ------ | -------- | ------ |
| label | 預期用戶輸入的簡要描述,也顯示在表單中。 | 必需 | 字符串 | - | - |
| label | 預期使用者輸入的簡要描述,也顯示在表單中。 | 必需 | 字符串 | - | - |
| hide_label | 如果為 true則標籤通常用作標題不可見。 | 可選 | 布爾值 | false | - |
| description | 該字段的描述,以提供上下文或指導,顯示在表單中。 | 可選 | 字符串 | 空字符串 | - |
| placeholder | 當空時在字段中呈現的半透明佔位符。 | 可選 | 字符串 | 空字符串 | - |
| value | 預填充在字段中的文本。 | 可選 | 字符串 | - | - |
| description | 該欄位的描述,以提供上下文或指導,顯示在表單中。 | 可選 | 字符串 | 空字符串 | - |
| placeholder | 當空時在欄位中呈現的半透明佔位符。 | 可選 | 字符串 | 空字符串 | - |
| value | 預填充在欄位中的文本。 | 可選 | 字符串 | - | - |
驗證:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| --------- | ------------------------------------------------ | ---- | ------ | ------ | ------------------------------------------------------------------- |
| required | 在元素完成之前阻止表單提交。 | 可選 | 布爾值 | false | - |
| is_number | 在元素填寫數字之前阻止表單提交。 | 可選 | 布爾值 | false | - |
| regex | 在元素填寫與正則表達式匹配的值之前阻止表單提交。 | 可選 | 字符串 | - | 一個 [正則表達式](https://en.wikipedia.org/wiki/Regular_expression) |
visible: 默認**[form, content]**
visible: 預設**[form, content]**
### Dropdown
@@ -250,22 +250,22 @@ visible: 默認為 **[form, content]**
屬性:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| ----------- | --------------------------------------------------------------------------- | ---- | ---------- | -------- | ------ |
| label | 預期用戶輸入的簡要描述,顯示在表單中。 | 必需 | 字符串 | - | - |
| label | 預期使用者輸入的簡要描述,顯示在表單中。 | 必需 | 字符串 | - | - |
| hide_label | 如果為 true則標籤通常用作標題不可見。 | 可選 | 布爾值 | false | - |
| description | 下拉菜單的描述,以提供額外的上下文或指導,顯示在表單中。 | 可選 | 字符串 | 空字符串 | - |
| multiple | 確定用戶是否可以選擇多個選項。 | 可選 | 布爾值 | false | - |
| list | 如果為 true顯示為列表。如果為 false則將項目打印在一行上,並用逗號分隔。 | 可選 | 布爾值 | false | - |
| options | 用戶可以選擇的選項數組。不能為空,所有選擇必須是不同的。 | 必需 | 字符串數組 | - | - |
| multiple | 確定使用者是否可以選擇多個選項。 | 可選 | 布爾值 | false | - |
| list | 如果為 true顯示為列表。如果為 false則將專案打印在一行上,並用逗號分隔。 | 可選 | 布爾值 | false | - |
| options | 使用者可以選擇的選項數組。不能為空,所有選擇必須是不同的。 | 必需 | 字符串數組 | - | - |
驗證:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| -------- | ---------------------------- | ---- | ------ | ------ | ------ |
| required | 在元素完成之前阻止表單提交。 | 可選 | 布爾值 | false | - |
visible: 默認**[form, content]**
visible: 預設**[form, content]**
### Checkboxes
@@ -273,26 +273,26 @@ visible: 默認為 **[form, content]**
屬性:
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 有效值 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 有效值 |
| ----------- | ---------------------------------------------------- | ---- | ------ | -------- | ------ |
| label | 預期用戶輸入的簡要描述,顯示在表單中。 | 必需 | 字符串 | - | - |
| label | 預期使用者輸入的簡要描述,顯示在表單中。 | 必需 | 字符串 | - | - |
| hide_label | 如果為 true則標籤通常用作標題不可見。 | 可選 | 布爾值 | false | - |
| description | 一組複選框的描述,顯示在表單中。支 Markdown 格式。 | 必需 | 字符串 | 空字符串 | - |
| options | 用戶可以選擇的複選框數組。語法見下文。 | 必需 | 數組 | - | - |
| description | 一組複選框的描述,顯示在表單中。支 Markdown 格式。 | 必需 | 字符串 | 空字符串 | - |
| options | 使用者可以選擇的複選框數組。語法見下文。 | 必需 | 數組 | - | - |
對於選項數組中的每個值,您可以設以下鍵。
對於選項數組中的每個值,您可以設以下鍵。
| 鍵 | 描述 | 必需 | 類型 | 默認值 | 選項 |
| 鍵 | 描述 | 必需 | 類型 | 預設值 | 選項 |
| -------- | -------------------------------------------------------------------------------------------- | ---- | ---------- | ------ | ---- |
| label | 選項的標識符,顯示在表單中。支 Markdown 格式,用於粗體或斜體文本格式和超鏈接。 | 必需 | 字符串 | - | - |
| label | 選項的標識符,顯示在表單中。支 Markdown 格式,用於粗體或斜體文本格式和超鏈接。 | 必需 | 字符串 | - | - |
| required | 在元素完成之前阻止表單提交。 | 可選 | 布爾值 | false | - |
| visible | 特定複選框僅在表單中顯示,在建的問題中顯示,或兩者都顯示。有效選項是 "form" 和 "content"。 | 可選 | 字符串數組 | false | - |
| visible | 特定複選框僅在表單中顯示,在建的問題中顯示,或兩者都顯示。有效選項是 "form" 和 "content"。 | 可選 | 字符串數組 | false | - |
visible: 默認**[form, content]**
visible: 預設**[form, content]**
## 問題配置語法
## 問題設定語法
這是一個問題配置文件的
這是一個問題設定文件的
```yaml
blank_issues_enabled: true
@@ -304,10 +304,10 @@ contact_links:
### 可能的選項
| 鍵 | 描述 | 類型 | 默認值 |
| 鍵 | 描述 | 類型 | 預設值 |
| -------------------- | ---------------------------------- | ------------ | ------ |
| blank_issues_enabled | 如果設為 false用戶必須使用模板 | 布爾值 | true |
| contact_links | 自定義鏈接顯示在選擇框中 | 聯繫鏈接數組 | 空數組 |
| blank_issues_enabled | 如果設為 false使用者必須使用模板 | 布爾值 | true |
| contact_links | 自鏈接顯示在選擇框中 | 聯繫鏈接數組 | 空數組 |
### 聯繫鏈接

View File

@@ -10,19 +10,19 @@ aliases:
您可以使用標籤來分類問題和拉取請求,並改善對它們的概覽。
## 建標籤
## 建標籤
對於庫,可以過轉到 `問題` 並點擊 `標籤`建標籤。
對於儲存庫,可以過轉到 `問題` 並點擊 `標籤` 來建標籤。
對於組織,您可以定義組織範圍內的標籤,這些標籤將與所有組織庫共享,包括已存在的庫和新創建的倉庫。組織範圍內的標籤可以在組織 `設`建。
對於組織,您可以定義組織範圍內的標籤,這些標籤將與所有組織儲存庫共享,包括已存在的儲存庫和新建立的儲存庫。組織範圍內的標籤可以在組織 `設` 中建
標籤必須有一個必需的名稱、一個必需的顏色、一個可選的描述,並且必須是排他性的或非排他性的(請參見下文的 `範圍標籤`)。
創建倉庫時,您可以使用 `問題標籤` 選項確保存在某些標籤。此選項列出了一些在您的實例中[局配置的標籤集](../administration/customizing-gitea.md#labels)。創建倉庫時,將建其包含的所有標籤。
建立儲存庫時,您可以使用 `問題標籤` 選項確保存在某些標籤。此選項列出了一些在您的實例中[域設定的標籤集](../administration/customizing-gitea.md)。建立儲存庫時,將建其包含的所有標籤。
## 範圍標籤
範圍標籤用於確保最多有一個具有相同範圍的標籤分配給問題或拉取請求。例如,如果標籤 `kind/bug``kind/enhancement`了排他選項,則一個問題只能被分類為 bug 或 enhancement。
範圍標籤用於確保最多有一個具有相同範圍的標籤分配給問題或拉取請求。例如,如果標籤 `kind/bug``kind/enhancement`了排他選項,則一個問題只能被分類為 bug 或 enhancement。
範圍標籤的名稱中必須包含 `/`(不能在名稱的任一端)。標籤的範圍基於**最後一個** `/` 確定,因此例如標籤 `scope/subscope/item` 的範圍是 `scope/subscope`

View File

@@ -12,13 +12,13 @@ aliases:
同樣,當提交消息被列出時,它們會被解析,並且當它們被推送到主分支時可以觸發操作。
為了防止建意外引用,有一些規則來識別它們。例如,它們不應包含在碼文本中。它們還應該與周圍文本合理地分開(例如,使用空格)。
為了防止建意外引用,有一些規則來識別它們。例如,它們不應包含在程式碼文本中。它們還應該與周圍文本合理地分開(例如,使用空格)。
## 用戶、團隊和組織提及
## 使用者、團隊和組織提及
當找到 `@username` 形式的文本並且 `username` 與現有用戶的名稱匹配時,會建一個提及引用。這將通過將文本更改為該用戶的個人資料鏈接來顯示,並根據用戶是否具有訪問內容的必要權限,可能會為被提及的用戶創建通知。
當找到 `@username` 形式的文本並且 `username` 與現有使用者的名稱匹配時,會建一個提及引用。這將通過將文本更改為該使用者的個人資料鏈接來顯示,並根據使用者是否具有訪問內容的必要權限,可能會為被提及的使用者建立通知。
例:
例:
> [@John](#),你能看看這個嗎?
@@ -29,61 +29,61 @@ aliases:
當適用時,團隊將收到郵件通知,但整個組織不會。
提交消息不會產生用戶通知。
提交消息不會產生使用者通知。
## 提交
可以使用其 SHA1 哈希或至少七個字符的一部分來引用提交。它們將顯示為對應提交的鏈接。
例:
例:
> 這個錯誤是在 [e59ff077](#) 中引入的
## 問題和拉取請求
可以使用簡單的 `#1234` 表示法建對其他問題或拉取請求的引用,其中 _1234_ 是同一庫中問題或拉取請求的編號。這些引用將顯示為指向引用內容的鏈接。
可以使用簡單的 `#1234` 表示法建對其他問題或拉取請求的引用,其中 _1234_ 是同一儲存庫中問題或拉取請求的編號。這些引用將顯示為指向引用內容的鏈接。
建此類引用的效果是,在引用的文檔中創建一個通知,前提是引用的建者對其具有閱讀權限。
此類引用的效果是,在引用的文件中建立一個通知,前提是引用的建者對其具有閱讀權限。
例:
例:
> 這似乎與 [#1234](#) 有關
也可以使用 `owner/repository#1234` 的形式引用其他庫中的問題和拉取請求:
也可以使用 `owner/repository#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)。
例:
例:
> 此 PR _closes_ [#1234](#)
如果接受可操作引用,這將在引用的問題上建一個通知,宣當合併引用的 PR 時將關閉該問題。
如果接受可操作引用,這將在引用的問題上建一個通知,宣當合併引用的 PR 時將關閉該問題。
要接受可操作引用,必須滿足以下條件之一:
- 評論者在建引用時具有關閉或重新打開問題的權限。
- 評論者在建引用時具有關閉或重新打開問題的權限。
- 引用在提交消息中。
- 引用作為拉取請求描述的一部分發佈。
在最後一種情況下,只有在合併拉取請求的人具有權限時,問題才會被關閉或重新打開。
此外,只有拉取請求和提交消息可以建操作,只有問題可以過這種方式關閉或重新打開。
此外,只有拉取請求和提交消息可以建操作,只有問題可以過這種方式關閉或重新打開。
默認關鍵字是:
預設關鍵字是:
- **關閉**close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved
- **重新打開**reopen, reopens, reopened
## 拉取請求和提交消息中的時間跟蹤
當提交或合併拉取請求導致自動關閉問題時,可以過提交消息添加解決此問題所花費的時間。
當提交或合併拉取請求導致自動關閉問題時,可以過提交消息添加解決此問題所花費的時間。
要指定解決問題所花費的時間,您需要在問題號後指定格式為 `@<number><time-unit>` 的時間。在一條提交消息中,您可以為每個問題指定多個修復問題和花費的時間。
@@ -97,7 +97,7 @@ aliases:
指定時間的數字(`<number>`)也可以是小數,例如 `@1.5h` 代表一個半小時。可以組合多個時間單位,例如 `@1h10m` 代表 1 小時 10 分鐘。
提交消息例:
提交消息例:
> Fixed #123 spent @1h, refs #102, fixes #124 @1.5h
@@ -105,17 +105,17 @@ aliases:
## 外部跟蹤器
Gitea 支援使用外部問題跟蹤器,並且可以在拉取請求中建對外部託管問題的引用。然而,如果外部跟蹤器使用編號來識別問題,它們將與 Gitea 中託管的拉取請求無法區分。為解決這個問題Gitea 允許使用 `!` 標記來識別拉取請求。例如:
Gitea 支援使用外部問題跟蹤器,並且可以在拉取請求中建對外部託管問題的引用。然而,如果外部跟蹤器使用編號來識別問題,它們將與 Gitea 中託管的拉取請求無法區分。為解決這個問題Gitea 允許使用 `!` 標記來識別拉取請求。例如:
> 這是問題 [#1234](#),鏈接到外部跟蹤器。
> 這是拉取請求 [!1234](#),鏈接到 Gitea 中的拉取請求。
`!``#` 可以互換使用於問題和拉取請求,除了這種情況,需要區分。如果庫使用外部跟蹤器squash 合併的提交消息將默認使用 `!` 作為引用。
`!``#` 可以互換使用於問題和拉取請求,除了這種情況,需要區分。如果儲存庫使用外部跟蹤器squash 合併的提交消息將預設使用 `!` 作為引用。
## 問題和拉取請求引用摘要
此表說明不同種類的問題和拉取請求的交叉引用。
例中,`User1/Repo1` 指的是使用引用的庫,而 `UserZ/RepoZ` 表示不同的庫。
此表說明不同種類的問題和拉取請求的交叉引用。
例中,`User1/Repo1` 指的是使用引用的儲存庫,而 `UserZ/RepoZ` 表示不同的儲存庫。
| User1/Repo1 中的引用 | Repo1 問題是外部的 | RepoZ 問題是外部的 | 應渲染 |
| --------------------- | :----------------: | :----------------: | ----------------------------------------------- |
@@ -138,10 +138,10 @@ Gitea 支援使用外部問題跟蹤器,並且可以在拉取請求中創建
| _不支援_ | - | yes | 指向 `UserZ/RepoZ` 的外部問題 `AAA-1234` 的鏈接 |
| `UserZ/RepoZ!1234` | - | yes | 指向 `UserZ/RepoZ` 中的拉取請求 1234 的鏈接 |
_最後一部分是針對使用字母數字格式的外部問題跟蹤器的庫。_
_最後一部分是針對使用字母數字格式的外部問題跟蹤器的儲存庫。_
_**-**:不適用。_
:::note
在具有不同類型問題(外部與內部)的庫之間的自動引用尚未完全支援,可能會渲染無效鏈接。
在具有不同類型問題(外部與內部)的儲存庫之間的自動引用尚未完全支援,可能會渲染無效鏈接。
:::

View File

@@ -10,7 +10,7 @@ aliases:
## 文件名
PR 默認合併消息模板的可能文件名:
PR 預設合併消息模板的可能文件名:
- `.gitea/default_merge_message/MERGE_TEMPLATE.md`
- `.gitea/default_merge_message/REBASE_TEMPLATE.md`
@@ -23,12 +23,12 @@ PR 默認合併消息模板的可能文件名:
您可以在這些模板中使用以下變量,這些變量包含在 `${}` 中,遵循 [os.Expand](https://pkg.go.dev/os#Expand) 語法:
- BaseRepoOwnerName: 此拉取請求的基礎庫所有者名稱
- BaseRepoName: 此拉取請求的基礎庫名稱
- BaseBranch: 此拉取請求的基礎庫目標分支名稱
- HeadRepoOwnerName: 此拉取請求的頭部庫所有者名稱
- HeadRepoName: 此拉取請求的頭部庫名稱
- HeadBranch: 此拉取請求的頭部庫分支名稱
- BaseRepoOwnerName: 此拉取請求的基礎儲存庫所有者名稱
- BaseRepoName: 此拉取請求的基礎儲存庫名稱
- BaseBranch: 此拉取請求的基礎儲存庫目標分支名稱
- HeadRepoOwnerName: 此拉取請求的頭部儲存庫所有者名稱
- HeadRepoName: 此拉取請求的頭部儲存庫名稱
- HeadBranch: 此拉取請求的頭部儲存庫分支名稱
- PullRequestTitle: 拉取請求的標題
- PullRequestDescription: 拉取請求的描述
- PullRequestPosterName: 拉取請求的發起人名稱

View File

@@ -6,7 +6,7 @@ sidebar_position: 45
# 遷移
您可以將庫從其他 Git 服務遷移到您的 Gitea 實例。
您可以將儲存庫從其他 Git 服務遷移到您的 Gitea 實例。
## 如何從 Gogs/GitHub/GitLab 遷移到 Gitea
@@ -16,9 +16,9 @@ sidebar_position: 45
要從 GitHub 遷移到 Gitea您可以使用 Gitea 的內置遷移表單。
為了遷移問題、拉取請求等項目,您需要至少輸入您的用戶名
為了遷移問題、拉取請求等專案,您需要至少輸入您的使用者名稱
[例(需要登](https://demo.gitea.com/repo/migrate)
[例(需要登](https://demo.gitea.com/repo/migrate)
要從 GitLab 遷移到 Gitea您可以使用這個非官方工具
@@ -26,7 +26,7 @@ https://github.com/loganinak/MigrateGitlabToGogs
## 如何從 AWS CodeCommit 遷移到 Gitea
- 要使用 AWS CodeCommit APIGitea 需要訪問密鑰 ID 和密訪問密鑰。出於安全原因,我們建議建一個具有最低必要權限的新用戶,並為遷移生成訪問密鑰 ID 和密訪問密鑰。此用戶所需的最低權限如下:
- 要使用 AWS CodeCommit APIGitea 需要訪問密鑰 ID 和密訪問密鑰。出於安全原因,我們建議建一個具有最低必要權限的新使用者,並為遷移生成訪問密鑰 ID 和密訪問密鑰。此使用者所需的最低權限如下:
```
{
@@ -50,6 +50,6 @@ https://github.com/loganinak/MigrateGitlabToGogs
- 如果您不需要遷移拉取請求,可以刪除 `ListPullRequests`、`GetPullRequest` 和 `GetCommentsForPullRequest` 操作。
- 有關如何建 IAM 用戶並分配權限的說明,您可以參考此 [AWS 文](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)。
- 有關如何建 IAM 使用者並分配權限的說明,您可以參考此 [AWS 文](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)。
- 要克隆此Gitea 需要 HTTPS Git 憑據。您可以根據此 [AWS 文](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html) 建 HTTPS Git 憑據。
- 要克隆此儲存Gitea 需要 HTTPS Git 憑據。您可以根據此 [AWS 文](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html) 建 HTTPS Git 憑據。

View File

@@ -7,22 +7,22 @@ weight: 15
# 多因素身份驗證 (MFA)
多因素身份驗證(也稱為 MFA 或 2FA通過要求除密碼外的時間敏感憑據來增強安全性。
如果密碼後來被洩露,則無法登 Gitea帳戶將保持安全。
如果密碼後來被洩露,則無法登 Gitea帳戶將保持安全。
Gitea 支援 TOTP基於時間的一次性密碼令牌和使用 Webauthn API 的基於 FIDO 的硬件密鑰。
可以在用戶設置頁面的“安全”選項卡中配置 MFA。
可以在使用者設定頁面的“安全”選項卡中設定 MFA。
## MFA 考慮事項
用戶上啟用 MFA 會影響 Git HTTP 協議如何與 Git CLI 一起使用。
面不支援 MFA並且在啟用 MFA 時嘗試正常使用密碼將不再可能。
如果 SSH 不是 Git 操作的選項,可以在用戶設置頁面的“應用程”選項卡中生成訪問令牌
訪問令牌可以像密碼一樣使用,以允許 Git CLI 通過 HTTP 工作。
使用者上啟用 MFA 會影響 Git HTTP 協議如何與 Git CLI 一起使用。
面不支援 MFA並且在啟用 MFA 時嘗試正常使用密碼將不再可能。
如果 SSH 不是 Git 操作的選項,可以在使用者設定頁面的“應用程”選項卡中生成存取權杖
存取權杖可以像密碼一樣使用,以允許 Git CLI 通過 HTTP 工作。
:::warning
由於其本質,訪問令牌繞過了 MFA 的安全性優勢。
由於其本質,存取權杖繞過了 MFA 的安全性優勢。
它必須保持安全,並且應僅作為最後的手段使用。
:::
Gitea API 支援在 `X-Gitea-OTP` 標頭中提供相關的 TOTP 密碼,如 [API 使用](development/api-usage.md) 中所述。
應盡可能使用此方法代替訪問令牌
應盡可能使用此方法代替存取權杖

View File

@@ -6,7 +6,7 @@ sidebar_position: 4
# Alpine 套件註冊表
為您的用戶或組織發布 [Alpine](https://pkgs.alpinelinux.org/) 套件。
為您的使用者或組織發布 [Alpine](https://pkgs.alpinelinux.org/) 套件。
## 需求
@@ -14,7 +14,7 @@ sidebar_position: 4
以下範例使用 `apk`
## 配置套件註冊表
## 設定套件註冊表
要註冊 Alpine 註冊表,請將 URL 添加到已知的 apk 來源列表中(`/etc/apk/repositories`
@@ -26,15 +26,15 @@ https://gitea.example.com/api/packages/{owner}/alpine/<branch>/<repository>
| ------------ | -------------- |
| `owner` | 套件的擁有者。 |
| `branch` | 要使用的分支。 |
| `repository` | 要使用的庫。 |
| `repository` | 要使用的儲存庫。 |
如果註冊表是私有的,請在 URL 中提供憑證。您可以使用密碼或 [個人訪問令牌](development/api-usage.md#authentication)
如果註冊表是私有的,請在 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
@@ -58,7 +58,7 @@ PUT https://gitea.example.com/api/packages/{owner}/alpine/{branch}/{repository}
| ------------ | ------------------------------------------------------------------------------------------------- |
| `owner` | 套件的擁有者。 |
| `branch` | 分支可能與操作系統的發行版本匹配,例如:`v3.17`。 |
| `repository` | 庫可以用來[分組套件](https://wiki.alpinelinux.org/wiki/Repositories) 或者只是 `main` 或類似的。 |
| `repository` | 儲存庫可以用來[分組套件](https://wiki.alpinelinux.org/wiki/Repositories) 或者只是 `main` 或類似的。 |
使用 HTTP 基本身份驗證的範例請求:
@@ -68,16 +68,16 @@ curl --user your_username:your_password_or_token \
https://gitea.example.com/api/packages/testuser/alpine/v3.17/main
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
您不能將同名文件兩次發布到套件中。您必須先刪除現有的套件文件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ---------------------------------------- |
| `201 Created` | 套件已發布。 |
| `400 Bad Request` | 套件名稱、版本、分支、庫或架構無效。 |
| `400 Bad Request` | 套件名稱、版本、分支、儲存庫或架構無效。 |
| `409 Conflict` | 套件中已存在具有相同參數組合的套件文件。 |
## 刪除套件
@@ -92,7 +92,7 @@ DELETE https://gitea.example.com/api/packages/{owner}/alpine/{branch}/{repositor
| -------------- | -------------- |
| `owner` | 套件的擁有者。 |
| `branch` | 要使用的分支。 |
| `repository` | 要使用的庫。 |
| `repository` | 要使用的儲存庫。 |
| `architecture` | 套件架構。 |
| `filename` | 要刪除的文件。 |
@@ -103,7 +103,7 @@ 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 狀態碼 | 含義 |
| ---------------- | ------------------ |

View File

@@ -6,7 +6,7 @@ sidebar_position: 5
# Arch 套件註冊表
為您的用戶或組織發布 [Arch](https://archlinux.org/packages/) 套件。該註冊表可以作為一個完全運行的 [Arch linux 鏡像](https://wiki.archlinux.org/title/mirrors),直接連接到 `/etc/pacman.conf`
為您的使用者或組織發布 [Arch](https://archlinux.org/packages/) 套件。該註冊表可以作為一個完全運行的 [Arch linux 鏡像](https://wiki.archlinux.org/title/mirrors),直接連接到 `/etc/pacman.conf`
## 需求
@@ -14,9 +14,9 @@ sidebar_position: 5
以下範例使用 `pacman`
## 配置套件註冊表
## 設定套件註冊表
在您可以使用套件註冊表之前,您需要下載套件驗證密鑰並將註冊表添加到 pacman 配置中。
在您可以使用套件註冊表之前,您需要下載套件驗證密鑰並將註冊表添加到 pacman 設定中。
下載套件驗證密鑰。
@@ -37,7 +37,7 @@ pacman-key --add repository.key
pacman-key --lsign-key {key id}
```
現在將註冊表配置添加到 `/etc/pacman.conf`
現在將註冊表設定添加到 `/etc/pacman.conf`
```conf
[{owner}.gitea.example.com]
@@ -48,12 +48,12 @@ Server = https://gitea.example.com/api/packages/{owner}/arch/{repository}/{archi
| 佔位符 | 描述 |
| -------------- | -------------- |
| `owner` | 套件的擁有者。 |
| `repository` | 要使用的庫。 |
| `repository` | 要使用的儲存庫。 |
| `architecture` | 要使用的架構。 |
請參閱擁有者的套件概述以查看可用的 `repository``architecture`
如果註冊表是私有的,請在 URL 中提供憑證。您可以使用密碼或 [個人訪問令牌](development/api-usage.md#authentication)
如果註冊表是私有的,請在 URL 中提供憑證。您可以使用密碼或 [個人存取權杖](development/api-usage.md#認證)
```
Server = https://{username}:{your_password_or_token}@gitea.example.com/api/packages/{owner}/arch/{repository}/{architecture}
@@ -70,7 +70,7 @@ PUT https://gitea.example.com/api/packages/{owner}/arch/{repository}
| 參數 | 描述 |
| ------------ | -------------------------------------------- |
| `owner` | 套件的擁有者。 |
| `repository` | 庫可以用來分組套件或只是 `core` 或類似的。 |
| `repository` | 儲存庫可以用來分組套件或只是 `core` 或類似的。 |
使用 HTTP 基本身份驗證的範例請求:
@@ -80,16 +80,16 @@ curl --user your_username:your_password_or_token \
https://gitea.example.com/api/packages/testuser/arch/core
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
您不能將同名文件兩次發布到套件中。您必須先刪除現有的套件文件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ------------------------------------------ |
| `201 Created` | 套件已發布。 |
| `400 Bad Request` | 套件的某些部分無效。錯誤消息包含更多信息。 |
| `400 Bad Request` | 套件的某些部分無效。錯誤消息包含更多資訊。 |
| `409 Conflict` | 套件中已存在具有相同參數組合的套件文件。 |
## 安裝套件
@@ -115,7 +115,7 @@ DELETE https://gitea.example.com/api/packages/{owner}/arch/{repository}/{package
| 參數 | 描述 |
| ----------------- | -------------- |
| `owner` | 套件的擁有者。 |
| `repository` | 要使用的庫。 |
| `repository` | 要使用的儲存庫。 |
| `architecture` | 套件架構。 |
| `package_name` | 套件名稱。 |
| `package_version` | 套件版本。 |
@@ -127,7 +127,7 @@ 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 狀態碼 | 含義 |
| ---------------- | ------------------ |

View File

@@ -6,35 +6,35 @@ sidebar_position: 5
# 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 將可用套件的信息存儲在一個 git 儲庫中的套件索引中。
儲庫是使用註冊表所必需的。
以下部分描述如何建它。
Cargo 將可用套件的資訊儲存在一個 git 儲庫中的套件索引中。
此儲庫是使用註冊表所必需的。
以下部分描述如何建它。
## 索引儲庫
## 索引儲
Cargo 將可用套件的信息存儲在一個 git 儲庫中的套件索引中。
在 Gitea 中,此儲庫具有特殊名稱 `_cargo-index`
上傳套件後,其元數據會自動寫入索引。
儲庫的內容不應手動修改。
Cargo 將可用套件的資訊儲存在一個 git 儲庫中的套件索引中。
在 Gitea 中,此儲庫具有特殊名稱 `_cargo-index`
上傳套件後,其元資料會自動寫入索引。
此儲庫的內容不應手動修改。
用戶或組織的套件設頁面允許創建索引存儲庫以及配置文件。
如果需要,此操作將重寫配置文件。
使用者或組織的套件設頁面允許建立索引儲存庫以及設定文件。
如果需要,此操作將重寫設定文件。
這在例如 Gitea 實例域名更改時很有用。
如果出現 Gitea 中儲的套件與索引儲庫中的信息不同步的情況,設頁面允許重建索引儲庫。
此操作會遍歷註冊表中的所有套件並將其信息寫入索引。
如果出現 Gitea 中儲的套件與索引儲庫中的資訊不同步的情況,設頁面允許重建索引儲庫。
此操作會遍歷註冊表中的所有套件並將其資訊寫入索引。
如果有很多套件,這個過程可能需要一些時間。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,必須更新 Cargo 配置
將以下文本添加到當前用戶主目錄中的配置文件(例如 `~/.cargo/config.toml`
要註冊套件註冊表,必須更新 Cargo 設定
將以下文本添加到當前使用者主目錄中的設定文件(例如 `~/.cargo/config.toml`
```
[registry]
@@ -52,8 +52,8 @@ index = "sparse+https://gitea.example.com/api/packages/{owner}/cargo/" # Sparse
| ------- | -------------- |
| `owner` | 套件的擁有者。 |
如果註冊表是私有的或您想發布新套件,您必須配置您的憑證。
將憑證部分添加到當前用戶主目錄中的憑證文件(例如 `~/.cargo/credentials.toml`
如果註冊表是私有的或您想發布新套件,您必須設定您的憑證。
將憑證部分添加到當前使用者主目錄中的憑證文件(例如 `~/.cargo/credentials.toml`
```
[registries.gitea]
@@ -62,17 +62,17 @@ token = "Bearer {token}"
| 參數 | 描述 |
| ------- | ------------------------------------------------------------ |
| `token` | 您的 [個人訪問令牌](development/api-usage.md#authentication) |
| `token` | 您的 [個人存取權杖](development/api-usage.md#認證) |
## Git vs Sparse
目前cargo 支兩種從註冊表中獲取 crate 的方式Git 索引和 sparse 索引。
目前cargo 支兩種從註冊表中獲取 crate 的方式Git 索引和 sparse 索引。
Sparse 索引是最新的方法,與 git 相比,在更新 crate 時提供了更好的性能。
自 Rust 1.68 起sparse 是 crates.io 的默認方法。
自 Rust 1.68 起sparse 是 crates.io 的預設方法。
## 發布套件
在您的項目中運行以下命令來發布套件:
在您的專案中運行以下命令來發布套件:
```shell
cargo publish
@@ -92,7 +92,7 @@ cargo add {package_name}
| -------------- | ---------- |
| `package_name` | 套件名稱。 |
## 支的命令
## 支的命令
```
cargo publish

View File

@@ -6,7 +6,7 @@ sidebar_position: 10
# Chef 套件註冊表
為您的用戶或組織發布 [Chef](https://chef.io/) 食譜。
為您的使用者或組織發布 [Chef](https://chef.io/) 食譜。
## 需求
@@ -14,14 +14,14 @@ sidebar_position: 10
## 認證
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'

View File

@@ -6,7 +6,7 @@ sidebar_position: 15
# Composer 套件註冊表
為您的用戶或組織發布 [Composer](https://getcomposer.org/) 套件。
為您的使用者或組織發布 [Composer](https://getcomposer.org/) 套件。
## 需求
@@ -15,7 +15,7 @@ sidebar_position: 15
## 發布套件
要發布 Composer 套件,請執行 HTTP PUT 操作,請求體中包含套件內容。
套件內容必須是包含 `composer.json` 文件的壓縮 PHP 項目
套件內容必須是包含 `composer.json` 文件的壓縮 PHP 專案
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
@@ -49,9 +49,9 @@ 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#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ---------------------------------- |
@@ -59,7 +59,7 @@ curl --user your_username:your_password_or_token \
| `400 Bad Request` | 套件無效。 |
| `409 Conflict` | 已存在具有相同參數組合的套件文件。 |
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,您需要將其添加到 Composer 的 `config.json` 文件中(通常可以在 `<user-home-dir>/.composer/config.json` 下找到):
@@ -90,8 +90,8 @@ curl --user your_username:your_password_or_token \
| 參數 | 描述 |
| ---------- | ------------------------------- |
| `owner` | 套件的擁有者。 |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼或個人訪問令牌。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼或個人存取權杖。 |
## 安裝套件

View File

@@ -6,15 +6,15 @@ sidebar_position: 20
# Conan 套件註冊表
為您的用戶或組織發布 [Conan](https://conan.io/) 套件。
為您的使用者或組織發布 [Conan](https://conan.io/) 套件。
## 需求
要使用 Conan 套件註冊表,您需要使用 [conan](https://conan.io/downloads.html) 命令行工具來消費和發布套件。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,您需要配置一個新的 Conan 遠程:
要註冊套件註冊表,您需要設定一個新的 Conan 遠程:
```shell
conan remote add {remote} https://gitea.example.com/api/packages/{owner}/conan
@@ -24,8 +24,8 @@ conan user --remote {remote} --password {password} {username}
| 參數 | 描述 |
| ---------- | ------------------------------------------------------------------------------------------------------------------- |
| `remote` | 遠程名稱。 |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。 |
| `owner` | 套件的擁有者。 |
例如:
@@ -56,7 +56,7 @@ 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)。
## 安裝套件
@@ -77,7 +77,7 @@ conan install --remote={remote} {recipe}
conan install --remote=gitea ConanPackage/1.2@gitea/final
```
## 支的命令
## 支的命令
```
conan install

View File

@@ -6,13 +6,13 @@ sidebar_position: 25
# 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)。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表並提供憑證,請編輯您的 `.condarc` 文件:
@@ -28,7 +28,7 @@ default_channels:
| ------- | -------------- |
| `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/...`)。
@@ -54,11 +54,11 @@ curl --user your_username:your_password_or_token \
https://gitea.example.com/api/packages/testuser/conda/package-1.0.conda
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ---------------------------------- |

View File

@@ -6,15 +6,15 @@ sidebar_position: 30
# 容器註冊表
為您的用戶或組織發布符合 [Open Container Initiative](https://opencontainers.org/) 規範的映像。
容器註冊表遵循 OCI 規範,支所有容的映像,如 [Docker](https://www.docker.com/) 和 [Helm Charts](https://helm.sh/)。
為您的使用者或組織發布符合 [Open Container Initiative](https://opencontainers.org/) 規範的映像。
容器註冊表遵循 OCI 規範,支所有容的映像,如 [Docker](https://www.docker.com/) 和 [Helm Charts](https://helm.sh/)。
## 需求
要使用容器註冊表,您可以使用特定映像類型的工具。
以下範例使用 `docker` 客戶端。
## 登到容器註冊表
## 登到容器註冊表
要推送映像或如果映像在私有註冊表中,您必須進行身份驗證:
@@ -22,7 +22,7 @@ sidebar_position: 30
docker login gitea.example.com
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
## 映像命名規則
@@ -49,12 +49,12 @@ docker tag {some-existing-image}:{tag} {registry}/{owner}/{image}:{tag}
`gitea.example.com/testuser/my/image`
:::note
註冊表僅支不區分大小寫的標籤名稱。因此 `image:tag``image:Tag` 被視為相同的映像和標籤。
註冊表僅支不區分大小寫的標籤名稱。因此 `image:tag``image:Tag` 被視為相同的映像和標籤。
:::
## 推送映像
過執行以下命令推送映像:
過執行以下命令推送映像:
```shell
docker push gitea.example.com/{owner}/{image}:{tag}
@@ -74,7 +74,7 @@ docker push gitea.example.com/testuser/myimage:latest
## 拉取映像
過執行以下命令拉取映像:
過執行以下命令拉取映像:
```shell
docker pull gitea.example.com/{owner}/{image}:{tag}

View File

@@ -6,15 +6,15 @@ sidebar_position: 35
# 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/)。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,您需要將其添加到 `Rprofile.site`,可以是系統級別、用戶級別(`~/.Rprofile`)或項目級別:
要註冊套件註冊表,您需要將其添加到 `Rprofile.site`,可以是系統級別、使用者級別(`~/.Rprofile`)或專案級別:
```
options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/packages/{owner}/cran")))
@@ -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
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ---------------------------------- |

View File

@@ -6,7 +6,7 @@ sidebar_position: 40
# Debian 套件註冊表
為您的用戶或組織發布 [Debian](https://www.debian.org/distrib/packages) 套件。
為您的使用者或組織發布 [Debian](https://www.debian.org/distrib/packages) 套件。
## 需求
@@ -14,7 +14,7 @@ sidebar_position: 40
以下範例使用 `apt`
## 配置套件註冊表
## 設定套件註冊表
要註冊 Debian 註冊表,請將 URL 添加到已知的 apt 來源列表中:
@@ -26,9 +26,9 @@ echo "deb [signed-by=/etc/apt/keyrings/gitea-{owner}.asc] https://gitea.example.
| -------------- | ---------------- |
| `owner` | 套件的擁有者。 |
| `distribution` | 要使用的發行版。 |
| `component` | 要使用的件。 |
| `component` | 要使用的件。 |
如果註冊表是私有的,請在 URL 中提供憑證。您可以使用密碼或 [個人訪問令牌](development/api-usage.md#authentication)
如果註冊表是私有的,請在 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
@@ -58,7 +58,7 @@ PUT https://gitea.example.com/api/packages/{owner}/debian/pool/{distribution}/{c
| -------------- | ---------------------------------------------------- |
| `owner` | 套件的擁有者。 |
| `distribution` | 發行版可能與操作系統的發行名稱匹配,例如:`bionic`。 |
| `component` | 件可以用來分組套件或只是 `main` 或類似的。 |
| `component` | 件可以用來分組套件或只是 `main` 或類似的。 |
使用 HTTP 基本身份驗證的範例請求:
@@ -68,11 +68,11 @@ 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#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
如果已經存在同名、同版本、同發行版、同件和同架構的套件,您不能發布該套件。您必須先刪除現有的套件。
如果已經存在同名、同版本、同發行版、同件和同架構的套件,您不能發布該套件。您必須先刪除現有的套件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ---------------------------------- |
@@ -94,7 +94,7 @@ DELETE https://gitea.example.com/api/packages/{owner}/debian/pool/{distribution}
| `package_name` | 套件名稱。 |
| `package_version` | 套件版本。 |
| `distribution` | 套件發行版。 |
| `component` | 套件件。 |
| `component` | 套件件。 |
| `architecture` | 套件架構。 |
使用 HTTP 基本身份驗證的範例請求:
@@ -104,7 +104,7 @@ curl --user your_username:your_token_or_password -X DELETE \
https://gitea.example.com/api/packages/testuser/debian/pool/bionic/main/test-package/1.0.0/amd64
```
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ---------------- | ------------------ |

View File

@@ -6,11 +6,11 @@ sidebar_position: 500
# 通用套件註冊表
為您的用戶或組織發布通用文件,如發布的二進制文件或其他輸出。
為您的使用者或組織發布通用文件,如發布的二進制文件或其他輸出。
## 認證到套件註冊表
要認證到套件註冊表,您需要提供[定義 HTTP 標頭或使用 HTTP 基本認證](development/api-usage.md#authentication)。
要認證到套件註冊表,您需要提供[ HTTP 標頭或使用 HTTP 基本認證](development/api-usage.md#認證)。
## 發布套件
@@ -36,9 +36,9 @@ 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#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ---------------------------------- |
@@ -70,7 +70,7 @@ 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 狀態碼 | 含義 |
| --------------- | ------------------ |
@@ -98,7 +98,7 @@ curl --user your_username:your_token_or_password -X DELETE \
https://gitea.example.com/api/packages/testuser/generic/test_package/1.0.0
```
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ---------------- | ------------ |
@@ -127,7 +127,7 @@ 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 狀態碼 | 含義 |
| ---------------- | ------------------ |

View File

@@ -6,13 +6,13 @@ sidebar_position: 45
# Go 套件註冊表
為您的用戶或組織發布 Go 套件。
為您的使用者或組織發布 Go 套件。
## 發布套件
要發布 Go 套件,請執行 HTTP `PUT` 操作,請求體中包含套件內容。
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
套件必須遵循[結構](https://go.dev/ref/mod#zip-files)。
套件必須遵循[結構](https://go.dev/ref/mod#zip-files)。
```
PUT https://gitea.example.com/api/packages/{owner}/go/upload
@@ -22,7 +22,7 @@ PUT https://gitea.example.com/api/packages/{owner}/go/upload
| ------- | -------------- |
| `owner` | 套件的擁有者。 |
要認證到套件註冊表,您需要提供[定義 HTTP 標頭或使用 HTTP 基本認證](development/api-usage.md#authentication)
要認證到套件註冊表,您需要提供[ HTTP 標頭或使用 HTTP 基本認證](development/api-usage.md#認證)
```shell
curl --user your_username:your_password_or_token \
@@ -30,11 +30,11 @@ curl --user your_username:your_password_or_token \
https://gitea.example.com/api/packages/testuser/go/upload
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | -------------------------- |
@@ -63,4 +63,4 @@ GOPROXY=https://gitea.example.com/api/packages/{owner}/go go install {package_na
如果套件的擁有者是私有的,您需要[提供憑證](https://go.dev/ref/mod#private-module-proxy-auth)。
有關 `GOPROXY` 環境變量以及如何防止數據洩漏的更多信息,請參閱[](https://go.dev/ref/mod#private-modules)。
有關 `GOPROXY` 環境變量以及如何防止資料洩漏的更多資訊,請參閱[](https://go.dev/ref/mod#private-modules)。

View File

@@ -6,11 +6,11 @@ sidebar_position: 50
# Helm Chart 註冊表
為您的用戶或組織發布 [Helm](https://helm.sh/) 圖表。
為您的使用者或組織發布 [Helm](https://helm.sh/) 圖表。
## 需求
要使用 Helm Chart 註冊表,請使用簡單的 HTTP 客戶端,如 `curl` 或 [`helm cm-push`](https://github.com/chartmuseum/helm-push/) 插件
要使用 Helm Chart 註冊表,請使用簡單的 HTTP 客戶端,如 `curl` 或 [`helm cm-push`](https://github.com/chartmuseum/helm-push/) 外掛
## 發布套件
@@ -20,7 +20,7 @@ sidebar_position: 50
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,9 +29,9 @@ helm cm-push ./{chart_file}.tgz {repo}
| 參數 | 描述 |
| ------------ | ------------------------------------------------------------------------------------------------------------------- |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 |
| `repo` | 庫的名稱。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。 |
| `repo` | 儲存庫的名稱。 |
| `chart_file` | Helm Chart 存檔。 |
| `owner` | 套件的擁有者。 |
@@ -47,9 +47,9 @@ helm install {name} {repo}/{chart}
| 參數 | 描述 |
| ---------- | ------------------------------- |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼或個人訪問令牌。 |
| `repo` | 庫的名稱。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼或個人存取權杖。 |
| `repo` | 儲存庫的名稱。 |
| `owner` | 套件的擁有者。 |
| `name` | 本地名稱。 |
| `chart` | Helm Chart 的名稱。 |

View File

@@ -6,16 +6,16 @@ sidebar_position: 60
# 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`
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,您首先需要將訪問令牌添加到 [`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#authentication)。 |
| `access_token` | 您的 [個人存取權杖](development/api-usage.md#認證)。 |
| `owner` | 套件的擁有者。 |
### Gradle 變體
當您計劃在項目中添加來自 Gitea 實例的一些套件時,應該將其添加到庫部分:
當您計劃在專案中添加來自 Gitea 實例的一些套件時,應該將其添加到儲存庫部分:
```groovy
repositories {
@@ -123,7 +123,7 @@ mvn deploy:deploy-file -Durl=https://gitea.example.com/api/packages/{owner}/mave
## 安裝套件
要從套件註冊表中安裝 Maven 套件,請在項目 `pom.xml` 文件中添加新的依賴項:
要從套件註冊表中安裝 Maven 套件,請在專案 `pom.xml` 文件中添加新的依賴項:
```xml
<dependency>
@@ -145,7 +145,7 @@ implementation "com.test.package:test_project:1.0.0"
mvn install
```
## 支的命令
## 支的命令
```
mvn install

View File

@@ -6,19 +6,19 @@ sidebar_position: 70
# NPM 套件註冊表
為您的用戶或組織發布 [npm](https://www.npmjs.com/) 套件。
為您的使用者或組織發布 [npm](https://www.npmjs.com/) 套件。
## 需求
要使用 npm 套件註冊表,您需要 [Node.js](https://nodejs.org/en/download/) 以及一個管理器,如 [Yarn](https://classic.yarnpkg.com/en/docs/install) 或 [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) 本身。
要使用 npm 套件註冊表,您需要 [Node.js](https://nodejs.org/en/download/) 以及一個套件管理器,如 [Yarn](https://classic.yarnpkg.com/en/docs/install) 或 [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) 本身。
註冊表支[範圍](https://docs.npmjs.com/misc/scope/)和非範圍套件。
註冊表支[範圍](https://docs.npmjs.com/misc/scope/)和非範圍套件。
以下範例使用 `npm` 工具和範圍 `@test`
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,您需要配置一個新的包源。
要註冊套件註冊表,您需要設定一個新的包源。
```shell
npm config set {scope}:registry=https://gitea.example.com/api/packages/{owner}/npm/
@@ -29,7 +29,7 @@ npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{t
| ------- | -------------------------------------------------------------- |
| `scope` | 套件的範圍。 |
| `owner` | 套件的擁有者。 |
| `token` | 您的 [個人訪問令牌](development/api-usage.md#authentication)。 |
| `token` | 您的 [個人存取權杖](development/api-usage.md#認證)。 |
例如:
@@ -47,7 +47,7 @@ npm config set -- '//gitea.example.com/api/packages/testuser/npm/:_authToken' "p
## 發布套件
在您的項目中運行以下命令來發布套件:
在您的專案中運行以下命令來發布套件:
```shell
npm publish
@@ -95,7 +95,7 @@ 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}
@@ -117,9 +117,9 @@ 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

@@ -6,17 +6,17 @@ sidebar_position: 80
# 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如 Visual Studio中的 NuGet 功能。
有關 NuGet 客戶端的更多信息,請參閱[官方文](https://docs.microsoft.com/zh-tw/nuget/install-nuget-client-tools)。
要使用 NuGet 套件註冊表,您可以使用命令行面工具以及各種 IDE如 Visual Studio中的 NuGet 功能。
有關 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
@@ -25,8 +25,8 @@ dotnet nuget add source --name {source_name} --username {username} --password {p
| 參數 | 描述 |
| ------------- | ------------------------------------------------------------------------------------------------------------------- |
| `source_name` | 所需的源名稱。 |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。 |
| `owner` | 套件的擁有者。 |
例如:
@@ -35,7 +35,7 @@ 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`](https://docs.microsoft.com/zh-tw/dotnet/core/tools/dotnet-nuget-push) 參數。在這種情況下,您需要提供 [個人訪問令牌](development/api-usage.md#authentication)。
您可以在沒有憑證的情況下添加源,並在發布套件時使用 [`--api-key`](https://docs.microsoft.com/zh-tw/dotnet/core/tools/dotnet-nuget-push) 參數。在這種情況下,您需要提供 [個人存取權杖](development/api-usage.md#認證)。
## 發布套件
@@ -60,7 +60,7 @@ dotnet nuget push --source gitea test_package.1.0.0.nupkg
### 符號包
NuGet 套件註冊表支符號服器。嵌入在符號包(`.snupkg`)中的 PDB 文件可以被客戶端請求。
NuGet 套件註冊表支符號服器。嵌入在符號包(`.snupkg`)中的 PDB 文件可以被客戶端請求。
為此,請將 NuGet 套件註冊表註冊為符號源:
```
@@ -97,7 +97,7 @@ dotnet add package --source {source_name} --version {package_version} {package_n
dotnet add package --source gitea --version 1.0.0 test_package
```
## 支的命令
## 支的命令
```
dotnet add

View File

@@ -8,9 +8,9 @@ sidebar_position: 1
從 Gitea **1.17** 開始,套件註冊表可以用作常見套件管理器的公共或私有註冊表。
## 支的套件管理器
## 支的套件管理器
目前支以下套件管理器:
目前支以下套件管理器:
| 名稱 | 語言 | 套件客戶端 |
| ---------------------------------------- | ---------- | --------------------------- |
@@ -37,59 +37,59 @@ sidebar_position: 1
| [Swift](usage/packages/swift.md) | Swift | `swift` |
| [Vagrant](usage/packages/vagrant.md) | - | `vagrant` |
**以下段落僅適用於套件未全禁用的情況!**
**以下段落僅適用於套件未全禁用的情況!**
## 儲庫-套件
## 儲庫-套件
套件始終屬於擁有者(用戶或組織),而不是儲庫。
要將(已上傳的)套件鏈接到儲庫,請打開該套件的設頁面並選擇要鏈接此套件的儲庫。
套件始終屬於擁有者(使用者或組織),而不是儲庫。
要將(已上傳的)套件鏈接到儲庫,請打開該套件的設頁面並選擇要鏈接此套件的儲庫。
整個套件將被鏈接,而不僅僅是單個版本。
鏈接套件會顯示在儲庫的套件列表中,並在套件網站上顯示指向儲庫的鏈接(以及指向儲庫問題的鏈接)。
鏈接套件會顯示在儲庫的套件列表中,並在套件網站上顯示指向儲庫的鏈接(以及指向儲庫問題的鏈接)。
## 訪問限制
| 套件擁有者類型 | 用戶 | 組織 |
| 套件擁有者類型 | 使用者 | 組織 |
| -------------- | -------------------------------------------- | -------------------------------------------- |
| **讀** 訪問 | 公共,如果用戶也是公共的;否則僅對此用戶可見 | 公共,如果組織是公共的,否則僅對組織成員可見 |
| **寫** 訪問 | 僅限擁有者 | 具有管理或寫入訪問權限的組織成員 |
| **讀** 訪問 | 公共,如果使用者也是公共的;否則僅對此使用者可見 | 公共,如果組織是公共的,否則僅對組織成員可見 |
| **寫** 訪問 | 僅限擁有者 | 具有管理或寫入存取權限的組織成員 |
注意:這些訪問限制[可能會更改](https://github.com/go-gitea/gitea/issues/19270),將通過專用的組織團隊權限添加更細粒度的控制。
## 建或上傳套件
## 建或上傳套件
根據套件的類型,使用相應的套件管理器。請查看特定套件管理器的子頁面以獲取說明。
## 查看套件
您可以在儲庫頁面上查看儲庫的套件。
您可以在儲庫頁面上查看儲庫的套件。
1. 轉到儲庫。
1. 轉到儲庫。
1. 在導航欄中轉到 **Packages**
要查看有關套件的更多詳細信息,請選擇套件的名稱。
要查看有關套件的更多詳細資訊,請選擇套件的名稱。
## 下載套件
要從儲庫下載套件:
要從儲庫下載套件:
1. 在導航欄中轉到 **Packages**
1. 選擇套件的名稱以查看詳細信息
1. 選擇套件的名稱以查看詳細資訊
1.**Assets** 部分中,選擇要下載的套件文件的名稱。
## 刪除套件
在套件註冊表中發布套件後,您無法編輯它。相反,您必須刪除並重新建它。
在套件註冊表中發布套件後,您無法編輯它。相反,您必須刪除並重新建它。
要從儲庫中刪除套件:
要從儲庫中刪除套件:
1. 在導航欄中轉到 **Packages**
1. 選擇套件的名稱以查看詳細信息
1. 選擇套件的名稱以查看詳細資訊
1. 單擊 **Delete package** 以永久刪除套件。
## 禁用套件註冊表
套件註冊表會自動啟用。要為單個儲庫禁用它:
套件註冊表會自動啟用。要為單個儲庫禁用它:
1. 在導航欄中轉到 **Settings**
1. 禁用 **Enable Repository Packages Registry**

View File

@@ -6,7 +6,7 @@ sidebar_position: 90
# Pub 套件註冊表
為您的用戶或組織發布 [Pub](https://dart.dev/guides/packages) 套件。
為您的使用者或組織發布 [Pub](https://dart.dev/guides/packages) 套件。
## 需求
@@ -14,7 +14,7 @@ sidebar_position: 90
以下範例使用 dart。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表並提供憑證,請執行:
@@ -26,7 +26,7 @@ dart pub token add https://gitea.example.com/api/packages/{owner}/pub
| ------- | -------------- |
| `owner` | 套件的擁有者。 |
您需要提供您的 [個人訪問令牌](development/api-usage.md#authentication)。
您需要提供您的 [個人存取權杖](development/api-usage.md#認證)。
## 發布套件
@@ -40,7 +40,7 @@ publish_to: https://gitea.example.com/api/packages/{owner}/pub
| ------- | -------------- |
| `owner` | 套件的擁有者。 |
現在您可以過運行以下命令來發布套件:
現在您可以過運行以下命令來發布套件:
```shell
dart pub publish

View File

@@ -6,13 +6,13 @@ sidebar_position: 100
# PyPI 套件註冊表
為您的用戶或組織發布 [PyPI](https://pypi.org/) 套件。
為您的使用者或組織發布 [PyPI](https://pypi.org/) 套件。
## 需求
要使用 PyPI 套件註冊表,您需要使用工具 [pip](https://pypi.org/project/pip/) 來消費和 [twine](https://pypi.org/project/twine/) 來發布套件。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,您需要編輯本地 `~/.pypirc` 文件。添加
@@ -29,8 +29,8 @@ password = {password}
| 佔位符 | 描述 |
| ---------- | ------------------------------------------------------------------------------------------------------------------- |
| `owner` | 套件的擁有者。 |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。 |
## 發布套件
@@ -54,8 +54,8 @@ pip install --index-url https://{username}:{password}@gitea.example.com/api/pack
| 參數 | 描述 |
| -------------- | ------------------------------- |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼或個人訪問令牌。 |
| `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

@@ -6,7 +6,7 @@ sidebar_position: 105
# RPM 套件註冊表
為您的用戶或組織發布 [RPM](https://rpm.org/) 套件。
為您的使用者或組織發布 [RPM](https://rpm.org/) 套件。
## 需求
@@ -14,7 +14,7 @@ sidebar_position: 105
以下範例使用 `dnf`
## 配置套件註冊表
## 設定套件註冊表
要註冊 RPM 註冊表,請將 URL 添加到已知來源列表中:
@@ -37,13 +37,13 @@ dnf config-manager --add-repo https://gitea.example.com/api/packages/testuser/rp
dnf config-manager --add-repo https://gitea.example.com/api/packages/testuser/rpm/centos/el7.repo
```
如果註冊表是私有的,請在 URL 中提供憑證。您可以使用密碼或 [個人訪問令牌](development/api-usage.md#authentication)
如果註冊表是私有的,請在 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
```
您還需要將憑證添加到建的 `.repo` 文件中的 URL 中,位於 `/etc/yum.repos.d`
您還需要將憑證添加到建`.repo` 文件中的 URL 中,位於 `/etc/yum.repos.d`
## 發布套件
@@ -72,10 +72,10 @@ curl --user your_username:your_password_or_token \
https://gitea.example.com/api/packages/testuser/rpm/centos/el7/upload
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
您不能將同名文件兩次發布到套件中。您必須先刪除現有的套件版本。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ------------------------------------ |
@@ -111,7 +111,7 @@ 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 狀態碼 | 含義 |
| ---------------- | ------------------ |

View File

@@ -6,13 +6,13 @@ sidebar_position: 110
# RubyGems 套件註冊表
為您的用戶或組織發布 [RubyGems](https://guides.rubygems.org/) 套件。
為您的使用者或組織發布 [RubyGems](https://guides.rubygems.org/) 套件。
## 需求
要使用 RubyGems 套件註冊表,您需要使用 [gem](https://guides.rubygems.org/command-reference/) 命令行工具來消費和發布套件。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表,請編輯 `~/.gem/credentials` 文件並添加:
@@ -24,7 +24,7 @@ https://gitea.example.com/api/packages/{owner}/rubygems: Bearer {token}
| 參數 | 描述 |
| ------- | -------------------------------------------------------------- |
| `owner` | 套件的擁有者。 |
| `token` | 您的 [個人訪問令牌](development/api-usage.md#authentication)。 |
| `token` | 您的 [個人存取權杖](development/api-usage.md#認證)。 |
例如:
@@ -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,9 +4,9 @@ slug: "storage"
sidebar_position: 3
---
#
# 儲
本文描述了套件註冊表的儲及其管理方式。
本文描述了套件註冊表的儲及其管理方式。
## 去重
@@ -19,29 +19,29 @@ sidebar_position: 3
此時不會刪除 blob因此它們仍然需要文件系統上的空間。
當上傳新套件時,現有的 blob 可能會再次被引用。
這些未引用的 blob 會被[清理作業](../../administration/config-cheat-sheet.md#cron---cleanup-expired-packages-croncleanup_packages)刪除。
配置設置 `OLDER_THAN` 配置了未引用的 blob 在刪除前保留的時間。
這些未引用的 blob 會被[清理作業](../../administration/config-cheat-sheet.md)刪除。
設定 `OLDER_THAN` 設定了未引用的 blob 在刪除前保留的時間。
## 清理規則
隨著時間的推移,套件註冊表可能會變得很大而不進行清理。
建議刪除不必要的套件並設清理規則以自動管理套件註冊表的使用。
每個套件擁有者(用戶或組織)管理應用於其套件的清理規則。
建議刪除不必要的套件並設清理規則以自動管理套件註冊表的使用。
每個套件擁有者(使用者或組織)管理應用於其套件的清理規則。
| 設 | 描述 |
| 設 | 描述 |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| 啟用 | 打開或關閉清理規則。 |
| 類型 | 每個規則管理特定的套件類型。 |
| 將模式應用於完整的套件名稱 | 如果啟用,下面的模式將應用於完整的套件名稱(`package/version`)。否則僅應用於版本(`version`)。 |
| 保留最新的 | 每個套件要*始終*保留的版本數量。 |
| 保留匹配的版本 | 確定要保留的版本的正則表達式模式。空模式不保留任何版本,而 `.+` 保留所有版本。即使未配置,容器註冊表也會始終保留 `latest` 版本。 |
| 保留匹配的版本 | 確定要保留的版本的正則表達式模式。空模式不保留任何版本,而 `.+` 保留所有版本。即使未設定,容器註冊表也會始終保留 `latest` 版本。 |
| 刪除早於的版本 | 只刪除早於選定天數的版本。 |
| 刪除匹配的版本 | 確定要刪除的版本的正則表達式模式。空模式或 `.+` 將導致刪除所有套件,如果沒有其他設告訴否則。 |
| 刪除匹配的版本 | 確定要刪除的版本的正則表達式模式。空模式或 `.+` 將導致刪除所有套件,如果沒有其他設告訴否則。 |
每個清理規則都可以顯示受影響套件的預覽。
這可以用來檢查清理規則是否配置正確。
這可以用來檢查清理規則是否設定正確。
### 正則表達式
### 正則表達式
正則表達式模式會自動用 `\A``\z` 錨點包圍。
不要在正則表達式模式中包含任何 `\A``\z``^``$` 符號,因為它們不是必需的。
@@ -55,11 +55,11 @@ sidebar_position: 3
| `release.*` | 匹配命名為或以 `release` 開頭的版本。 |
| `.+-temp-.+` | 匹配包含 `-temp-` 的版本。 |
| `v.+\|release` | 匹配以 `v` 開頭的版本或命名為 `release` 的版本。 |
| `package/v.+\|other/release` | 匹配套件 `package` 的以 `v` 開頭的版本或套件 `other` 的版本 `release`。這需要啟用設*將模式應用於完整的套件名稱*。 |
| `package/v.+\|other/release` | 匹配套件 `package` 的以 `v` 開頭的版本或套件 `other` 的版本 `release`。這需要啟用設*將模式應用於完整的套件名稱*。 |
### 清理規則的工作原理
清理規則是[清理作業](../../administration/config-cheat-sheet.md#cron---cleanup-expired-packages-croncleanup_packages)的一部分,並定期運行。
清理規則是[清理作業](../../administration/config-cheat-sheet.md)的一部分,並定期運行。
清理規則:

View File

@@ -6,13 +6,13 @@ sidebar_position: 115
# Swift 套件註冊表
為您的用戶或組織發布 [Swift](https://www.swift.org/) 套件。
為您的使用者或組織發布 [Swift](https://www.swift.org/) 套件。
## 需求
要使用 Swift 套件註冊表,您需要使用 [swift](https://www.swift.org/getting-started/) 來消費和使用 HTTP 客戶端(如 `curl`)來發布套件。
## 配置套件註冊表
## 設定套件註冊表
要註冊套件註冊表並提供憑證,請執行:
@@ -24,10 +24,10 @@ swift package-registry login https://gitea.example.com/api/packages/{owner}/swif
| 佔位符 | 描述 |
| ---------- | ------------------------------------------------------------------------------------------------------------------- |
| `owner` | 套件的擁有者。 |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。 |
是可選的,僅在套件註冊表是私有時需要。
是可選的,僅在套件註冊表是私有時需要。
## 發布套件
@@ -49,17 +49,17 @@ curl -X PUT --user {username}:{password} \
| 佔位符 | 描述 |
| ---------- | ------------------------------------------------------------------------------------------------------------------- |
| `username` | 您的 Gitea 用戶名。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。 |
| `username` | 您的 Gitea 使用者名稱。 |
| `password` | 您的 Gitea 密碼。如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。 |
| `owner` | 套件的擁有者。 |
| `scope` | 套件範圍。 |
| `name` | 套件名稱。 |
| `version` | 套件版本。 |
| `metadata` | (可選)套件的元數據。JSON 編碼的 https://schema.org/SoftwareSourceCode 子集 |
| `metadata` | (可選)套件的元資料。JSON 編碼的 https://schema.org/SoftwareSourceCode 子集 |
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ------------------------------------ |

View File

@@ -6,7 +6,7 @@ sidebar_position: 120
# Vagrant 套件註冊表
為您的用戶或組織發布 [Vagrant](https://www.vagrantup.com/) 套件。
為您的使用者或組織發布 [Vagrant](https://www.vagrantup.com/) 套件。
## 需求
@@ -14,7 +14,7 @@ sidebar_position: 120
## 發布套件
過執行 HTTP PUT 請求來發布 Vagrant box
過執行 HTTP PUT 請求來發布 Vagrant box
```
PUT https://gitea.example.com/api/packages/{owner}/vagrant/{package_name}/{package_version}/{provider}.box
@@ -25,7 +25,7 @@ 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)之一。 |
| `provider` | [的提供者名稱](https://www.vagrantup.com/docs/providers)之一。 |
上傳 Hyper-V box 的範例:
@@ -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
```
如果您使用 2FA 或 OAuth請使用 [個人訪問令牌](development/api-usage.md#authentication) 代替密碼。
如果您使用 2FA 或 OAuth請使用 [個人存取權杖](development/api-usage.md#認證) 代替密碼。
如果已經存在同名、同版本和同提供者的 box您不能發布該 box。您必須先刪除現有的套件。
器響應以下 HTTP 狀態碼。
服器響應以下 HTTP 狀態碼。
| HTTP 狀態碼 | 含義 |
| ----------------- | ------------------------------------ |
@@ -67,9 +67,9 @@ vagrant box add "https://gitea.example.com/api/packages/testuser/vagrant/test_sy
```
這將安裝套件的最新版本。要添加特定版本,請使用 `--box-version` 參數。
如果註冊表是私有的,您可以在 `VAGRANT_CLOUD_TOKEN` 環境變量中傳遞您的 [個人訪問令牌](development/api-usage.md#authentication)。
如果註冊表是私有的,您可以在 `VAGRANT_CLOUD_TOKEN` 環境變量中傳遞您的 [個人存取權杖](development/api-usage.md#認證)。
## 支的命令
## 支的命令
```
vagrant box add

View File

@@ -8,69 +8,69 @@ aliases:
# 權限
Gitea 支援庫的權限,以便您可以為不同的人提供不同的訪問權限。首先,我們需要了解 `單元`
Gitea 支援儲存庫的權限,以便您可以為不同的人提供不同的存取權限。首先,我們需要了解 `單元`
## 單元
在 Gitea 中,我們稱庫的子模`單元`。現在我們有以下可能的單元。
在 Gitea 中,我們稱儲存庫的子模`單元`。現在我們有以下可能的單元。
| 名稱 | 描述 | 權限 |
| ---------- | ------------------------------- | --------- |
| 碼 | 訪問源碼、文件、提交和分支。 | 讀取 寫入 |
| 程式碼 | 訪問源程式碼、文件、提交和分支。 | 讀取 寫入 |
| 問題 | 組織錯誤報告、任務和里程碑。 | 讀取 寫入 |
| 拉取請求 | 啟用拉取請求和碼審查。 | 讀取 寫入 |
| 發佈 | 跟蹤項目版本和下載。 | 讀取 寫入 |
| 維基 | 與合作者編寫和共享文。 | 讀取 寫入 |
| 拉取請求 | 啟用拉取請求和程式碼審查。 | 讀取 寫入 |
| 發佈 | 跟蹤專案版本和下載。 | 讀取 寫入 |
| 維基 | 與合作者編寫和共享文。 | 讀取 寫入 |
| 外部維基 | 鏈接到外部維基 | 讀取 |
| 外部跟蹤器 | 鏈接到外部問題跟蹤器 | 讀取 |
| 項目 | 模板庫的 URL | 讀取 寫入 |
| 包 | 與此庫鏈接的包 | 讀取 寫入 |
| 專案 | 模板儲存庫的 URL | 讀取 寫入 |
| 包 | 與此儲存庫鏈接的包 | 讀取 寫入 |
| 操作 | 審查操作日誌或重新啟動/取消管道 | 讀取 寫入 |
| 設 | 管理庫 | 管理 |
| 設 | 管理儲存庫 | 管理 |
有了不同的權限,人們可以對這些單元執行不同的操作。
| 名稱 | 讀取 | 寫入 | 管理 |
| ---------- | -------------------------------- | ----------------------- | -------- |
| 碼 | 查看碼樹、文件、提交、分支等。 | 推送碼。 | - |
| 問題 | 查看問題並建新問題。 | 添加標籤、分配、關閉 | - |
| 拉取請求 | 查看拉取請求並建新拉取請求。 | 添加標籤、分配、關閉 | - |
| 發佈 | 查看發佈並下載文件。 | 建/編輯發佈 | - |
| 維基 | 查看維基頁面。克隆維基庫。 | 建/編輯維基頁面,推送 | - |
| 程式碼 | 查看程式碼樹、文件、提交、分支等。 | 推送程式碼。 | - |
| 問題 | 查看問題並建新問題。 | 添加標籤、分配、關閉 | - |
| 拉取請求 | 查看拉取請求並建新拉取請求。 | 添加標籤、分配、關閉 | - |
| 發佈 | 查看發佈並下載文件。 | 建/編輯發佈 | - |
| 維基 | 查看維基頁面。克隆維基儲存庫。 | 建/編輯維基頁面,推送 | - |
| 外部維基 | 鏈接到外部維基 | - | - |
| 外部跟蹤器 | 鏈接到外部問題跟蹤器 | - | - |
| 項目 | 查看項目的列 | 更改列中的問題 | - |
| 專案 | 查看專案的列 | 更改列中的問題 | - |
| 包 | 查看包 | 上傳/刪除包 | - |
| 操作 | 查看操作日誌 | 批准/取消/重新啟動 | - |
| 設 | - | - | 管理庫 |
| 設 | - | - | 管理儲存庫 |
個人庫和組織庫的權限之間存在一些差異。
個人儲存庫和組織儲存庫的權限之間存在一些差異。
## 個人
## 個人儲存
對於個人倉庫,創建者是倉庫的唯一所有者,對更改或刪除此庫沒有任何限制。庫所有者可以添加合作者來幫助維護庫。合作者可以具有 `讀取``寫入``管理` 權限。
對於個人儲存庫,建立者是儲存庫的唯一所有者,對更改或刪除此儲存庫沒有任何限制。儲存庫所有者可以添加合作者來幫助維護儲存庫。合作者可以具有 `讀取``寫入``管理` 權限。
對於私有庫,體驗類似於訪問匿名公共庫。您可以訪問庫中的所有可用內容,包括克隆代碼、創建問題、回應問題評論、提交拉取請求等。如果您具有“寫入”權限,則可以推送代碼到倉庫的特定分支,前提是分支保護規則允許。此外,您可以更改維基頁面。具有“管理”權限,您可以修改庫的設
對於私有儲存庫,體驗類似於訪問匿名公共儲存庫。您可以訪問儲存庫中的所有可用內容,包括克隆程式碼、建立問題、回應問題評論、提交拉取請求等。如果您具有“寫入”權限,則可以推送程式碼到儲存庫的特定分支,前提是分支保護規則允許。此外,您可以更改維基頁面。具有“管理”權限,您可以修改儲存庫的設
但如果您不是該庫的所有者,則無法刪除或轉移此庫。
但如果您不是該儲存庫的所有者,則無法刪除或轉移此儲存庫。
## 組織
## 組織儲存
對於個人庫,所有者是創建它的用戶。對於組織庫,所有者是該組織所有者團隊的成員。所有權限取決於團隊權限設
對於個人儲存庫,所有者是建立它的使用者。對於組織儲存庫,所有者是該組織所有者團隊的成員。所有權限取決於團隊權限設
### 所有者團隊
建組織時將建所有者團隊,建者將成為所有者團隊的第一個成員。所有者團隊不能被刪除,並且至少有一名成員。
組織時將建所有者團隊,建者將成為所有者團隊的第一個成員。所有者團隊不能被刪除,並且至少有一名成員。
### 管理員團隊
建團隊時,有兩種類型的團隊。一個是管理員團隊,另一個是普通團隊。可以建管理員團隊來管理一些庫,其成員可以對這些庫執行任何操作。只有所有者或管理員團隊的成員可以建新團隊。
團隊時,有兩種類型的團隊。一個是管理員團隊,另一個是普通團隊。可以建管理員團隊來管理一些儲存庫,其成員可以對這些儲存庫執行任何操作。只有所有者或管理員團隊的成員可以建新團隊。
### 普通團隊
組織中的普通團隊具有單元權限設。它可以有成員和庫範圍。
組織中的普通團隊具有單元權限設。它可以有成員和儲存庫範圍。
- 團隊可以訪問此組織中的所有庫或特殊庫。
- 團隊還可以被允許創建新倉庫或不允許。
- 團隊可以訪問此組織中的所有儲存庫或特殊儲存庫。
- 團隊還可以被允許建立新儲存庫或不允許。
普通團隊可以建以執行其權限允許的操作。一個成員可以加入多個團隊。
普通團隊可以建以執行其權限允許的操作。一個成員可以加入多個團隊。

View File

@@ -6,11 +6,11 @@ sidebar_position: 12
# 個人資料 README
要在您的 Gitea 用戶或組織個人資料頁面中顯示 Markdown 文件,請建一個名為 `.profile`庫,並添加一個名為 `README.md` 的新文件。
Gitea 將自動在您的個人資料中顯示該文件的內容,在您的庫上方的新“概覽”中。
要在您的 Gitea 使用者或組織個人資料頁面中顯示 Markdown 文件,請建一個名為 `.profile`儲存庫,並添加一個名為 `README.md` 的新文件。
Gitea 將自動在您的個人資料中顯示該文件的內容,在您的儲存庫上方的新“概覽”中。
`.profile` 庫設為私有將隱藏個人資料 README。
`.profile` 儲存庫設為私有將隱藏個人資料 README。
具有 `.profile/README.md`用戶示例:
具有 `.profile/README.md`使用者範例:
![個人資料 README 截圖](/images/usage/profile-readme.png)

View File

@@ -8,22 +8,22 @@ aliases:
# 受保護標籤
受保護標籤允許控制誰有權建或更新 Git 標籤。每個規則允許您匹配單個標籤名稱,或使用適當的模式來控制多個標籤。
受保護標籤允許控制誰有權建或更新 Git 標籤。每個規則允許您匹配單個標籤名稱,或使用適當的模式來控制多個標籤。
## 設受保護標籤
## 設受保護標籤
要保護標籤,您需要按照以下步驟操作:
1. 轉到庫的 **設** > **標籤** 頁面。
1. 轉到儲存庫的 **設** > **標籤** 頁面。
1. 輸入要匹配的名稱模式。您可以使用單個名稱、[glob 模式](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正則表達式。
1. 選擇允許的用戶和/或團隊。如果您將這些字段留空,則沒有人可以建或修改此標籤。
1. 選擇 **保存** 以保存配置
1. 選擇允許的使用者和/或團隊。如果您將這些欄位留空,則沒有人可以建或修改此標籤。
1. 選擇 **保存** 以保存設定
## 模式受保護標籤
該模式使用 [glob](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正則表達式來匹配標籤名稱。對於正則表達式,您需要將模式括在斜中。
該模式使用 [glob](https://pkg.go.dev/github.com/gobwas/glob#Compile) 或正則表達式來匹配標籤名稱。對於正則表達式,您需要將模式括在斜中。
例:
例:
| 類型 | 模式受保護標籤 | 可能匹配的標籤 |
| ----- | ------------------------ | --------------------------------------- |

View File

@@ -8,34 +8,34 @@ aliases:
# 拉取請求
拉取請求PR是一種提議對庫進行更改的方法。
拉取請求PR是一種提議對儲存庫進行更改的方法。
它是一個請求,要求將一個分支合併到另一個分支,並附有對所做更改的描述。
拉取請求通常用於貢獻者提議更改,並由維護者審查和合併這些更改。
## 建拉取請求
## 建拉取請求
建 PR您需要按照以下步驟操作
要建 PR您需要按照以下步驟操作
1. **分叉** - 如果您沒有直接更改庫的權限,您需要將庫分叉到自己的帳戶。
這會建一個您可以進行更改的庫副本。
1. **分叉儲存** - 如果您沒有直接更改儲存庫的權限,您需要將儲存庫分叉到自己的帳戶。
這會建一個您可以進行更改的儲存庫副本。
2. **建分支(可選)** - 在您的分叉倉庫中創建一個包含您要提議的更改的新分支。
2. **建分支(可選)** - 在您的分叉儲存庫中建立一個包含您要提議的更改的新分支。
給分支起一個描述性名稱,表明更改的用途。
3. **進行更改** - 進行您想要的更改,提交並推送到您的分叉庫。
3. **進行更改** - 進行您想要的更改,提交並推送到您的分叉儲存庫。
4. **建 PR** - 轉到原始庫並轉到“拉取請求”選項卡。點擊“新建拉取請求”按鈕,選擇您的新分支作為源分支。
為您的拉取請求輸入描述性標題和描述,然後點擊“建拉取請求”。
4. **建 PR** - 轉到原始儲存庫並轉到“拉取請求”選項卡。點擊“新建拉取請求”按鈕,選擇您的新分支作為源分支。
為您的拉取請求輸入描述性標題和描述,然後點擊“建拉取請求”。
## 審查拉取請求
建 PR 後,會觸發審查過程。庫的維護者會收到 PR 的通知,並可以審查所做的更改。
PR 後,會觸發審查過程。儲存庫的維護者會收到 PR 的通知,並可以審查所做的更改。
他們可以留下評論、請求更改或批准更改。
如果維護者請求更改,您需要在您的分支中進行這些更改,並將更改推送到您的分叉庫。
如果維護者請求更改,您需要在您的分支中進行這些更改,並將更改推送到您的分叉儲存庫。
PR 將自動更新為新更改。
如果維護者批准更改,他們可以將 PR 合併到庫中。
如果維護者批准更改,他們可以將 PR 合併到儲存庫中。
## 關閉拉取請求
@@ -46,15 +46,15 @@ PR 將自動更新為新更改。
將拉取請求標記為進行中將防止該拉取請求被意外合併。
要將拉取請求標記為進行中,您必須在其標題前加上 `WIP:``[WIP]`(不區分大小寫)。
這些值可以在您的 `app.ini` 文件中配置
這些值可以在您的 `app.ini` 文件中設定
```ini
[repository.pull-request]
WORK_IN_PROGRESS_PREFIXES=WIP:,[WIP]
```
列表中的第一個值將用於幫助程
列表中的第一個值將用於幫助程
## 拉取請求模板
您可以在 [問題和拉取請求模板](usage/issue-pull-request-templates.md) 頁面找到有關拉取請求模板的更多信息
您可以在 [問題和拉取請求模板](usage/../issue-pull-request-templates) 頁面找到有關拉取請求模板的更多資訊

View File

@@ -9,45 +9,45 @@ aliases:
# 推送
將提交推送到 Gitea 服器時,有一些附加功能。
將提交推送到 Gitea 服器時,有一些附加功能。
## 通過推送打開 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) - 更改儲存庫的可見性。
這在與推送建結合使用時特別有用。
這在與推送建結合使用時特別有用。
- `repo.template` (true|false) - 更改庫是否為模板。
- `repo.template` (true|false) - 更改儲存庫是否為模板。
庫的可見性更改為公共的例:
儲存庫的可見性更改為公共的例:
```shell
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#repository-repository) 中閱讀有關這兩個選項的更多信息
`app.ini` 文件中,將 `ENABLE_PUSH_CREATE_USER``true`,如果您希望允許使用者在其自己的使用者帳戶中建立儲存庫,並在他們是成員的組織中建立儲存庫,則將 `ENABLE_PUSH_CREATE_ORG``true`。重新啟動 Gitea 以使更改生效。您可以在 [設定備忘單](../administration/config-cheat-sheet.md#儲存庫repository) 中閱讀有關這兩個選項的更多資訊
### 使用推送
### 使用推送建
假設您在當前目錄中有一個 git 庫,您可以過運行以下命令推送到 Gitea 中尚不存在的庫:
假設您在當前目錄中有一個 git 儲存庫,您可以過運行以下命令推送到 Gitea 中尚不存在的儲存庫:
```shell
# 添加您要推送的遠程
@@ -59,4 +59,4 @@ git push -u origin main
這假設您使用的是 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. 建一個 [GitHub 個人訪問令牌](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token),並勾選 _public_repo_ 框。如果您的庫使用 GitHub Actions 進行持續集成,還請勾選 **workflow** 框。
2. 在 GitHub 上建一個具有該名稱的庫。與 Gitea 不同GitHub 不支通過推送創建倉庫。如果它具有與您的 Gitea 庫相同的提交歷史記錄,您也可以使用現有的遠程庫。
3. 在您的 Gitea 庫設中,填寫 **Git 遠程庫 URL**`https://github.com/<your_github_group>/<your_github_project>.git`
4. 使用您的 GitHub 用戶名和個人訪問令牌作為 **密碼** 填寫 **授權** 字段
1.一個 [GitHub 個人存取權杖](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token),並勾選 _public_repo_ 框。如果您的儲存庫使用 GitHub Actions 進行持續整合,還請勾選 **workflow** 框。
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. 選擇 **添加推送鏡像** 以保存配置
6. 選擇 **添加推送鏡像** 以保存設定
庫隨後會很快推送。要強制推送,選擇 **立即同步** 按鈕。
儲存庫隨後會很快推送。要強制推送,選擇 **立即同步** 按鈕。
### 從 Gitea 到 GitLab 設推送鏡像
### 從 Gitea 到 GitLab 設推送鏡像
要從 Gitea 設到 GitLab 的鏡像,您需要按照以下步驟操作:
要從 Gitea 設到 GitLab 的鏡像,您需要按照以下步驟操作:
1. 建一個 [GitLab 個人訪問令牌](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html),並勾選 _write_repository_ 範圍。
2. 填寫 **Git 遠程庫 URL**`https://<destination host>/<your_gitlab_group_or_name>/<your_gitlab_project>.git`
3. 使用 `oauth2` 作為 **用戶名** 和您的 GitLab 個人訪問令牌作為 **密碼** 填寫 **授權** 字段
4. 選擇 **添加推送鏡像** 以保存配置
1.一個 [GitLab 個人存取權杖](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html),並勾選 _write_repository_ 範圍。
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. 建一個 [Bitbucket 應用密碼](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/),並勾選 _Repository Write_ 框。
2. 填寫 **Git 遠程庫 URL**`https://bitbucket.org/<your_bitbucket_group_or_name>/<your_bitbucket_project>.git`
3. 使用您的 Bitbucket 用戶名和應用密碼作為 **密碼** 填寫 **授權** 字段
4. 選擇 **添加推送鏡像** 以保存配置
1.一個 [Bitbucket 應用密碼](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/),並勾選 _Repository Write_ 框。
2. 填寫 **Git 遠程儲存庫 URL**`https://bitbucket.org/<your_bitbucket_group_or_name>/<your_bitbucket_project>.git`
3. 使用您的 Bitbucket 使用者名稱和應用密碼作為 **密碼** 填寫 **授權** 欄位
4. 選擇 **添加推送鏡像** 以保存設定
庫隨後會很快推送。要強制推送,選擇 **立即同步** 按鈕。
儲存庫隨後會很快推送。要強制推送,選擇 **立即同步** 按鈕。
### 鏡像現有的 ssh
### 鏡像現有的 ssh 儲存
目前 Gitea 不支 ssh 推送鏡像。您可以過向您的 Gitea 庫添加一個 `post-receive` 鉤子來手動推送來解決此問題。
目前 Gitea 不支 ssh 推送鏡像。您可以過向您的 Gitea 儲存庫添加一個 `post-receive` 鉤子來手動推送來解決此問題。
1. 確保運行 Gitea 的用戶可以從 shell 訪問您嘗試鏡像到的 git 庫。
2. 在 Web 面的庫設 > git 鉤子中,為鏡像添加一個 post-receive 鉤子。例如:
1. 確保運行 Gitea 的使用者可以從 shell 訪問您嘗試鏡像到的 git 儲存庫。
2. 在 Web 面的儲存庫設 > git 鉤子中,為鏡像添加一個 post-receive 鉤子。例如:
```
#!/usr/bin/env bash

View File

@@ -6,21 +6,21 @@ aliases:
- /zh-tw/template-repositories
---
# 模板
# 模板儲存
自 Gitea `1.11` 起,您可以創建模板倉庫。
建基於模板的庫時,您可以複製其大部分內容,甚至自動注入變量。
自 Gitea `1.11` 起,您可以建立模板儲存庫。
基於模板的儲存庫時,您可以複製其大部分內容,甚至自動注入變量。
默認情況下,不會在任何文件中展開變量。
預設情況下,不會在任何文件中展開變量。
只有包含在 `.gitea/template` 文件中的模式內的文件才會被檢查是否包含變量。
建模板時,除 `.gitea/template` 文件外,所有文件都包含在內。
模板時,除 `.gitea/template` 文件外,所有文件都包含在內。
Gitea 使用 [gobwas/glob](https://github.com/gobwas/glob) 進行其 glob 語法。
它與傳統的 `.gitignore` 非常相似,但可能存在細微差異。
## 例 `.gitea/template` 文件
## 例 `.gitea/template` 文件
所有路徑均相對於庫的基礎
所有路徑均相對於儲存庫的基礎
```gitignore
# 展開倉庫中任何位置的所有 .go 文件
@@ -40,37 +40,37 @@ a/b/c/d.json
在上述 glob 匹配的任何文件中,以下變量將被展開。
匹配的文件名和路徑也可以展開,並且經過保守的清理以支跨平台文件系統。
匹配的文件名和路徑也可以展開,並且經過保守的清理以支跨平台文件系統。
您可以過在變量前加上 `$` 或將其括在 `${}` 中來使用變量,因此 `$VAR``${VAR}` 都會在此位置插入 `VAR` 的值。
您可以過在變量前加上 `$` 或將其括在 `${}` 中來使用變量,因此 `$VAR``${VAR}` 都會在此位置插入 `VAR` 的值。
要轉義展開,請使用 `$$`,例如 `$$VAR``$${VAR}`
這些是 Gitea 目前識別的變量:
| 變量 | 展開為 | 可轉換 |
| -------------------- | -------------------------------- | ------ |
| YEAR | 生成庫的年份(即 `2024` | ✘ |
| MONTH | 生成庫的月份(即 `03` | ✘ |
| YEAR | 生成儲存庫的年份(即 `2024` | ✘ |
| MONTH | 生成儲存庫的月份(即 `03` | ✘ |
| MONTH_ENGLISH | 月份,但用英文表示(即 `March` | ✓ |
| DAY | 生成庫的日期(即 `02` | ✘ |
| REPO_NAME | 生成庫的名稱 | ✓ |
| TEMPLATE_NAME | 模板庫的名稱 | ✓ |
| REPO_DESCRIPTION | 生成庫的描述 | ✘ |
| TEMPLATE_DESCRIPTION | 模板庫的描述 | ✘ |
| REPO_OWNER | 生成庫的所有者 | ✓ |
| TEMPLATE_OWNER | 模板庫的所有者 | ✓ |
| REPO_LINK | 生成庫的 URL | ✘ |
| TEMPLATE_LINK | 模板庫的 URL | ✘ |
| REPO_HTTPS_URL | 生成庫的 HTTP(S) 克隆鏈接 | ✘ |
| TEMPLATE_HTTPS_URL | 模板庫的 HTTP(S) 克隆鏈接 | ✘ |
| REPO_SSH_URL | 生成庫的 SSH 克隆鏈接 | ✘ |
| TEMPLATE_SSH_URL | 模板庫的 SSH 克隆鏈接 | ✘ |
| DAY | 生成儲存庫的日期(即 `02` | ✘ |
| REPO_NAME | 生成儲存庫的名稱 | ✓ |
| TEMPLATE_NAME | 模板儲存庫的名稱 | ✓ |
| REPO_DESCRIPTION | 生成儲存庫的描述 | ✘ |
| TEMPLATE_DESCRIPTION | 模板儲存庫的描述 | ✘ |
| REPO_OWNER | 生成儲存庫的所有者 | ✓ |
| TEMPLATE_OWNER | 模板儲存庫的所有者 | ✓ |
| REPO_LINK | 生成儲存庫的 URL | ✘ |
| TEMPLATE_LINK | 模板儲存庫的 URL | ✘ |
| REPO_HTTPS_URL | 生成儲存庫的 HTTP(S) 克隆鏈接 | ✘ |
| TEMPLATE_HTTPS_URL | 模板儲存庫的 HTTP(S) 克隆鏈接 | ✘ |
| REPO_SSH_URL | 生成儲存庫的 SSH 克隆鏈接 | ✘ |
| TEMPLATE_SSH_URL | 模板儲存庫的 SSH 克隆鏈接 | ✘ |
## 轉換器 :robot:
自 Gitea `1.12.0` 起,表中標記為可轉換的變量還具有應用了給定轉換器的替代版本。
可以過將轉換器名稱附加到變量名稱來調用轉換後的變量。
可以過將轉換器名稱附加到變量名稱來調用轉換後的變量。
例如,要獲取 `PASCAL` 大小寫的 `REPO_NAME`,您應該使用變量 `${REPO_NAME_PASCAL}`
以下是可用的轉換器(假設輸入為 `go-sdk`

View File

@@ -8,8 +8,8 @@ aliases:
# Webhooks
Gitea 支援庫事件的 webhooks。這可以由庫管理員在設頁面 `/:username/:reponame/settings/hooks`配置。webhooks 也可以在每個組織和整個系統範圍內配置
所有事件推送都是 POST 請求。目前支的方法有:
Gitea 支援儲存庫事件的 webhooks。這可以由儲存庫管理員在設頁面 `/:username/:reponame/settings/hooks`設定。webhooks 也可以在每個組織和整個系統範圍內設定
所有事件推送都是 POST 請求。目前支的方法有:
- Gitea也可以是 GET 請求)
- Gogs
@@ -22,13 +22,13 @@ Gitea 支援倉庫事件的 webhooks。這可以由倉庫管理員在設置頁
- Wechatwork
- Packagist
### 事件信息
### 事件資訊
:::warning
自 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
@@ -110,10 +110,10 @@ X-Gitea-Event: push
}
```
###
###
這是一個如何使用 webhooks 在推送請求到庫時運行 php 腳本的例。
在您的庫設webhooks 下,設一個 Gitea webhook如下所示
這是一個如何使用 webhooks 在推送請求到儲存庫時運行 php 腳本的例。
在您的儲存庫設webhooks 下,設一個 Gitea webhook如下所示
- 目標 URL: http://mydomain.com/webhook.php
- HTTP 方法: POST
@@ -122,7 +122,7 @@ X-Gitea-Event: push
- 觸發事件: 推送事件
- 活躍: 已勾選
現在在您的服務器上創建 php 文件 webhook.php
現在在您的伺服器上建立 php 文件 webhook.php
```php
<?php
@@ -180,8 +180,8 @@ if (json_last_error() !== JSON_ERROR_NONE) {
// 成功,執行操作
```
webhook 設中有一個測試傳遞按鈕,允許測試配置以及最近傳遞的列表。
webhook 設中有一個測試傳遞按鈕,允許測試設定以及最近傳遞的列表。
### 授權標頭
**從 1.19 開始**Gitea hooks 可以配置為向 webhook 目標發送 [授權標頭](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization)。
**從 1.19 開始**Gitea hooks 可以設定為向 webhook 目標發送 [授權標頭](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization)。