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

---------

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

View File

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