forgejo/docs/content/usage/actions/comparison.zh-cn.md
delvh 24a215e317
Remove outdated paragraphs when comparing Gitea Actions to GitHub Actions (#27119)
No backport needed as this new state only applies to 1.21+

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-09-20 11:02:58 +08:00

6 KiB
Raw Blame History

date title slug sidebar_position draft toc menu
2023-05-24T15:00:00+08:00 与GitHub Actions的对比 comparison 30 false false
sidebar
parent name sidebar_position identifier
actions 对比 30 actions-comparison

与GitHub Actions的对比

尽管Gitea Actions旨在与GitHub Actions兼容但它们之间存在一些差异。

额外功能

Action URL绝对路径

Gitea Actions支持通过URL绝对路径定义actions这意味着您可以使用来自任何Git存储库的Actions。 例如,uses: https://github.com/actions/checkout@v3uses: http://your_gitea.com/owner/repo@branch

使用Go编写Actions

Gitea Actions支持使用Go编写Actions。 请参阅创建Go Actions

不支持的工作流语法

concurrency

这是用于一次运行一个Job。 请参阅使用并发

Gitea Actions目前不支持此功能。

run-name

这是工作流生成的工作流运行的名称。 请参阅GitHub Actions 的工作流语法

Gitea Actions目前不支持此功能。

permissionsjobs.<job_id>.permissions

请参阅GitHub Actions的工作流语法

Gitea Actions目前不支持此功能。

jobs.<job_id>.timeout-minutes

请参阅GitHub Actions的工作流语法

Gitea Actions目前不支持此功能。

jobs.<job_id>.continue-on-error

请参阅GitHub Actions的工作流语法

Gitea Actions目前不支持此功能。

jobs.<job_id>.environment

请参阅GitHub Actions的工作流语法

Gitea Actions 目前不支持此功能。

复杂的runs-on

请参阅GitHub Actions的工作流语法

Gitea Actions目前只支持runs-on: xyzruns-on: [xyz]

workflow_dispatch

请参阅GitHub Actions的工作流语法

Gitea Actions目前不支持此功能。

hashFiles表达式

请参阅表达式

Gitea Actions目前不支持此功能如果使用它结果将始终为空字符串。

作为解决方法,您可以使用go-hashfiles

缺失的功能

变量

请参阅变量

目前变量功能正在开发中。

问题匹配器

问题匹配器是一种扫描Actions输出以查找指定正则表达式模式并在用户界面中突出显示该信息的方法。 请参阅问题匹配器

Gitea Actions目前不支持此功能。

为错误创建注释

请参阅为错误创建注释

Gitea Actions目前不支持此功能。

缺失的UI功能

预处理和后处理步骤

预处理和后处理步骤在Job日志用户界面中没有自己的用户界面。

不一样的行为

下载Actions

[actions].DEFAULT_ACTIONS_URL 保持默认值为 githubGitea将会从 https://github.com 下载相对路径的actions。比如 如果你使用 uses: actions/checkout@v3Gitea将会从 https://github.com/actions/checkout.git 下载这个 actions 项目。 如果你想要从另外一个 Git服务下载actions你只需要使用绝对URL uses: https://gitea.com/actions/checkout@v3 来下载。

如果你的 Gitea 实例是部署在一个互联网限制的网络中,有可以使用绝对地址来下载 actions。你也可以讲配置项修改为 [actions].DEFAULT_ACTIONS_URL = self。这样所有的相对路径的actions引用将不再会从 github.com 去下载,而会从这个 Gitea 实例自己的仓库中去下载。例如: uses: actions/checkout@v3 将会从 [server].ROOT_URL/actions/checkout.git 这个地址去下载 actions。

设置[actions].DEFAULT_ACTIONS_URL进行配置。请参阅配置备忘单

上下文可用性

不检查上下文可用性因此您可以在更多地方使用env上下文。 请参阅上下文可用性

已知问题

docker/build-push-action@v4

请参阅act_runner#119

ACTIONS_RUNTIME_TOKEN在Gitea Actions中是一个随机字符串而不是JWT。 但是`DOCKER/BUILD-PUSH-ACTION@V4尝试将令牌解析为JWT并且不处理错误因此Job失败。

有两种解决方法:

手动将ACTIONS_RUNTIME_TOKEN设置为空字符串,例如:

- name: Build and push
  uses: docker/build-push-action@v4
  env:
    ACTIONS_RUNTIME_TOKEN: ''
  with:
...

该问题已在较新的提交中修复,但尚未发布。因此,您可以通过指定分支名称来使用最新版本,例如:

- name: Build and push
  uses: docker/build-push-action@master
  with:
...