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 }}` 在工作流程中訪問它們。
## 優先級
如果在多個級別存在同名變數,則最低級別的變數優先:
庫變數將始終優先於組織/用戶變數。
儲存庫變數將始終優先於組織/使用者變數。